Check-in Differences
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Difference From 1e09846d988d5057 To 9a64f4383b0357b3

2015-06-05
11:03
updating to automake 1.15 check-in: a999b9fc92 user: sandro tags: trunk
2015-05-20
08:25
enabling lcov 1.10 branch coverage output check-in: 9a64f4383b user: sandro tags: trunk
2014-12-16
12:07
updating automake 1.14.1 and switching to 1.0.0d check-in: 791ffbce4c user: sandro tags: trunk
2012-04-20
17:38
initial repository set-up check-in: 6022cc2518 user: sandro tags: trunk
17:25
initial empty check-in check-in: 1e09846d98 user: sandro tags: trunk

Added AUTHORS.

            1  +Original Author:
            2  +Alessandro Furieri <a.furieri@lqt.it>
            3  +
            4  +Contributors:

Added COPYING.

            1  +                          MOZILLA PUBLIC LICENSE
            2  +                                Version 1.1
            3  +
            4  +                              ---------------
            5  +
            6  +1. Definitions.
            7  +
            8  +     1.0.1. "Commercial Use" means distribution or otherwise making the
            9  +     Covered Code available to a third party.
           10  +
           11  +     1.1. "Contributor" means each entity that creates or contributes to
           12  +     the creation of Modifications.
           13  +
           14  +     1.2. "Contributor Version" means the combination of the Original
           15  +     Code, prior Modifications used by a Contributor, and the Modifications
           16  +     made by that particular Contributor.
           17  +
           18  +     1.3. "Covered Code" means the Original Code or Modifications or the
           19  +     combination of the Original Code and Modifications, in each case
           20  +     including portions thereof.
           21  +
           22  +     1.4. "Electronic Distribution Mechanism" means a mechanism generally
           23  +     accepted in the software development community for the electronic
           24  +     transfer of data.
           25  +
           26  +     1.5. "Executable" means Covered Code in any form other than Source
           27  +     Code.
           28  +
           29  +     1.6. "Initial Developer" means the individual or entity identified
           30  +     as the Initial Developer in the Source Code notice required by Exhibit
           31  +     A.
           32  +
           33  +     1.7. "Larger Work" means a work which combines Covered Code or
           34  +     portions thereof with code not governed by the terms of this License.
           35  +
           36  +     1.8. "License" means this document.
           37  +
           38  +     1.8.1. "Licensable" means having the right to grant, to the maximum
           39  +     extent possible, whether at the time of the initial grant or
           40  +     subsequently acquired, any and all of the rights conveyed herein.
           41  +
           42  +     1.9. "Modifications" means any addition to or deletion from the
           43  +     substance or structure of either the Original Code or any previous
           44  +     Modifications. When Covered Code is released as a series of files, a
           45  +     Modification is:
           46  +          A. Any addition to or deletion from the contents of a file
           47  +          containing Original Code or previous Modifications.
           48  +
           49  +          B. Any new file that contains any part of the Original Code or
           50  +          previous Modifications.
           51  +
           52  +     1.10. "Original Code" means Source Code of computer software code
           53  +     which is described in the Source Code notice required by Exhibit A as
           54  +     Original Code, and which, at the time of its release under this
           55  +     License is not already Covered Code governed by this License.
           56  +
           57  +     1.10.1. "Patent Claims" means any patent claim(s), now owned or
           58  +     hereafter acquired, including without limitation,  method, process,
           59  +     and apparatus claims, in any patent Licensable by grantor.
           60  +
           61  +     1.11. "Source Code" means the preferred form of the Covered Code for
           62  +     making modifications to it, including all modules it contains, plus
           63  +     any associated interface definition files, scripts used to control
           64  +     compilation and installation of an Executable, or source code
           65  +     differential comparisons against either the Original Code or another
           66  +     well known, available Covered Code of the Contributor's choice. The
           67  +     Source Code can be in a compressed or archival form, provided the
           68  +     appropriate decompression or de-archiving software is widely available
           69  +     for no charge.
           70  +
           71  +     1.12. "You" (or "Your")  means an individual or a legal entity
           72  +     exercising rights under, and complying with all of the terms of, this
           73  +     License or a future version of this License issued under Section 6.1.
           74  +     For legal entities, "You" includes any entity which controls, is
           75  +     controlled by, or is under common control with You. For purposes of
           76  +     this definition, "control" means (a) the power, direct or indirect,
           77  +     to cause the direction or management of such entity, whether by
           78  +     contract or otherwise, or (b) ownership of more than fifty percent
           79  +     (50%) of the outstanding shares or beneficial ownership of such
           80  +     entity.
           81  +
           82  +2. Source Code License.
           83  +
           84  +     2.1. The Initial Developer Grant.
           85  +     The Initial Developer hereby grants You a world-wide, royalty-free,
           86  +     non-exclusive license, subject to third party intellectual property
           87  +     claims:
           88  +          (a)  under intellectual property rights (other than patent or
           89  +          trademark) Licensable by Initial Developer to use, reproduce,
           90  +          modify, display, perform, sublicense and distribute the Original
           91  +          Code (or portions thereof) with or without Modifications, and/or
           92  +          as part of a Larger Work; and
           93  +
           94  +          (b) under Patents Claims infringed by the making, using or
           95  +          selling of Original Code, to make, have made, use, practice,
           96  +          sell, and offer for sale, and/or otherwise dispose of the
           97  +          Original Code (or portions thereof).
           98  +
           99  +          (c) the licenses granted in this Section 2.1(a) and (b) are
          100  +          effective on the date Initial Developer first distributes
          101  +          Original Code under the terms of this License.
          102  +
          103  +          (d) Notwithstanding Section 2.1(b) above, no patent license is
          104  +          granted: 1) for code that You delete from the Original Code; 2)
          105  +          separate from the Original Code;  or 3) for infringements caused
          106  +          by: i) the modification of the Original Code or ii) the
          107  +          combination of the Original Code with other software or devices.
          108  +
          109  +     2.2. Contributor Grant.
          110  +     Subject to third party intellectual property claims, each Contributor
          111  +     hereby grants You a world-wide, royalty-free, non-exclusive license
          112  +
          113  +          (a)  under intellectual property rights (other than patent or
          114  +          trademark) Licensable by Contributor, to use, reproduce, modify,
          115  +          display, perform, sublicense and distribute the Modifications
          116  +          created by such Contributor (or portions thereof) either on an
          117  +          unmodified basis, with other Modifications, as Covered Code
          118  +          and/or as part of a Larger Work; and
          119  +
          120  +          (b) under Patent Claims infringed by the making, using, or
          121  +          selling of  Modifications made by that Contributor either alone
          122  +          and/or in combination with its Contributor Version (or portions
          123  +          of such combination), to make, use, sell, offer for sale, have
          124  +          made, and/or otherwise dispose of: 1) Modifications made by that
          125  +          Contributor (or portions thereof); and 2) the combination of
          126  +          Modifications made by that Contributor with its Contributor
          127  +          Version (or portions of such combination).
          128  +
          129  +          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
          130  +          effective on the date Contributor first makes Commercial Use of
          131  +          the Covered Code.
          132  +
          133  +          (d)    Notwithstanding Section 2.2(b) above, no patent license is
          134  +          granted: 1) for any code that Contributor has deleted from the
          135  +          Contributor Version; 2)  separate from the Contributor Version;
          136  +          3)  for infringements caused by: i) third party modifications of
          137  +          Contributor Version or ii)  the combination of Modifications made
          138  +          by that Contributor with other software  (except as part of the
          139  +          Contributor Version) or other devices; or 4) under Patent Claims
          140  +          infringed by Covered Code in the absence of Modifications made by
          141  +          that Contributor.
          142  +
          143  +3. Distribution Obligations.
          144  +
          145  +     3.1. Application of License.
          146  +     The Modifications which You create or to which You contribute are
          147  +     governed by the terms of this License, including without limitation
          148  +     Section 2.2. The Source Code version of Covered Code may be
          149  +     distributed only under the terms of this License or a future version
          150  +     of this License released under Section 6.1, and You must include a
          151  +     copy of this License with every copy of the Source Code You
          152  +     distribute. You may not offer or impose any terms on any Source Code
          153  +     version that alters or restricts the applicable version of this
          154  +     License or the recipients' rights hereunder. However, You may include
          155  +     an additional document offering the additional rights described in
          156  +     Section 3.5.
          157  +
          158  +     3.2. Availability of Source Code.
          159  +     Any Modification which You create or to which You contribute must be
          160  +     made available in Source Code form under the terms of this License
          161  +     either on the same media as an Executable version or via an accepted
          162  +     Electronic Distribution Mechanism to anyone to whom you made an
          163  +     Executable version available; and if made available via Electronic
          164  +     Distribution Mechanism, must remain available for at least twelve (12)
          165  +     months after the date it initially became available, or at least six
          166  +     (6) months after a subsequent version of that particular Modification
          167  +     has been made available to such recipients. You are responsible for
          168  +     ensuring that the Source Code version remains available even if the
          169  +     Electronic Distribution Mechanism is maintained by a third party.
          170  +
          171  +     3.3. Description of Modifications.
          172  +     You must cause all Covered Code to which You contribute to contain a
          173  +     file documenting the changes You made to create that Covered Code and
          174  +     the date of any change. You must include a prominent statement that
          175  +     the Modification is derived, directly or indirectly, from Original
          176  +     Code provided by the Initial Developer and including the name of the
          177  +     Initial Developer in (a) the Source Code, and (b) in any notice in an
          178  +     Executable version or related documentation in which You describe the
          179  +     origin or ownership of the Covered Code.
          180  +
          181  +     3.4. Intellectual Property Matters
          182  +          (a) Third Party Claims.
          183  +          If Contributor has knowledge that a license under a third party's
          184  +          intellectual property rights is required to exercise the rights
          185  +          granted by such Contributor under Sections 2.1 or 2.2,
          186  +          Contributor must include a text file with the Source Code
          187  +          distribution titled "LEGAL" which describes the claim and the
          188  +          party making the claim in sufficient detail that a recipient will
          189  +          know whom to contact. If Contributor obtains such knowledge after
          190  +          the Modification is made available as described in Section 3.2,
          191  +          Contributor shall promptly modify the LEGAL file in all copies
          192  +          Contributor makes available thereafter and shall take other steps
          193  +          (such as notifying appropriate mailing lists or newsgroups)
          194  +          reasonably calculated to inform those who received the Covered
          195  +          Code that new knowledge has been obtained.
          196  +
          197  +          (b) Contributor APIs.
          198  +          If Contributor's Modifications include an application programming
          199  +          interface and Contributor has knowledge of patent licenses which
          200  +          are reasonably necessary to implement that API, Contributor must
          201  +          also include this information in the LEGAL file.
          202  +
          203  +               (c)    Representations.
          204  +          Contributor represents that, except as disclosed pursuant to
          205  +          Section 3.4(a) above, Contributor believes that Contributor's
          206  +          Modifications are Contributor's original creation(s) and/or
          207  +          Contributor has sufficient rights to grant the rights conveyed by
          208  +          this License.
          209  +
          210  +     3.5. Required Notices.
          211  +     You must duplicate the notice in Exhibit A in each file of the Source
          212  +     Code.  If it is not possible to put such notice in a particular Source
          213  +     Code file due to its structure, then You must include such notice in a
          214  +     location (such as a relevant directory) where a user would be likely
          215  +     to look for such a notice.  If You created one or more Modification(s)
          216  +     You may add your name as a Contributor to the notice described in
          217  +     Exhibit A.  You must also duplicate this License in any documentation
          218  +     for the Source Code where You describe recipients' rights or ownership
          219  +     rights relating to Covered Code.  You may choose to offer, and to
          220  +     charge a fee for, warranty, support, indemnity or liability
          221  +     obligations to one or more recipients of Covered Code. However, You
          222  +     may do so only on Your own behalf, and not on behalf of the Initial
          223  +     Developer or any Contributor. You must make it absolutely clear than
          224  +     any such warranty, support, indemnity or liability obligation is
          225  +     offered by You alone, and You hereby agree to indemnify the Initial
          226  +     Developer and every Contributor for any liability incurred by the
          227  +     Initial Developer or such Contributor as a result of warranty,
          228  +     support, indemnity or liability terms You offer.
          229  +
          230  +     3.6. Distribution of Executable Versions.
          231  +     You may distribute Covered Code in Executable form only if the
          232  +     requirements of Section 3.1-3.5 have been met for that Covered Code,
          233  +     and if You include a notice stating that the Source Code version of
          234  +     the Covered Code is available under the terms of this License,
          235  +     including a description of how and where You have fulfilled the
          236  +     obligations of Section 3.2. The notice must be conspicuously included
          237  +     in any notice in an Executable version, related documentation or
          238  +     collateral in which You describe recipients' rights relating to the
          239  +     Covered Code. You may distribute the Executable version of Covered
          240  +     Code or ownership rights under a license of Your choice, which may
          241  +     contain terms different from this License, provided that You are in
          242  +     compliance with the terms of this License and that the license for the
          243  +     Executable version does not attempt to limit or alter the recipient's
          244  +     rights in the Source Code version from the rights set forth in this
          245  +     License. If You distribute the Executable version under a different
          246  +     license You must make it absolutely clear that any terms which differ
          247  +     from this License are offered by You alone, not by the Initial
          248  +     Developer or any Contributor. You hereby agree to indemnify the
          249  +     Initial Developer and every Contributor for any liability incurred by
          250  +     the Initial Developer or such Contributor as a result of any such
          251  +     terms You offer.
          252  +
          253  +     3.7. Larger Works.
          254  +     You may create a Larger Work by combining Covered Code with other code
          255  +     not governed by the terms of this License and distribute the Larger
          256  +     Work as a single product. In such a case, You must make sure the
          257  +     requirements of this License are fulfilled for the Covered Code.
          258  +
          259  +4. Inability to Comply Due to Statute or Regulation.
          260  +
          261  +     If it is impossible for You to comply with any of the terms of this
          262  +     License with respect to some or all of the Covered Code due to
          263  +     statute, judicial order, or regulation then You must: (a) comply with
          264  +     the terms of this License to the maximum extent possible; and (b)
          265  +     describe the limitations and the code they affect. Such description
          266  +     must be included in the LEGAL file described in Section 3.4 and must
          267  +     be included with all distributions of the Source Code. Except to the
          268  +     extent prohibited by statute or regulation, such description must be
          269  +     sufficiently detailed for a recipient of ordinary skill to be able to
          270  +     understand it.
          271  +
          272  +5. Application of this License.
          273  +
          274  +     This License applies to code to which the Initial Developer has
          275  +     attached the notice in Exhibit A and to related Covered Code.
          276  +
          277  +6. Versions of the License.
          278  +
          279  +     6.1. New Versions.
          280  +     Netscape Communications Corporation ("Netscape") may publish revised
          281  +     and/or new versions of the License from time to time. Each version
          282  +     will be given a distinguishing version number.
          283  +
          284  +     6.2. Effect of New Versions.
          285  +     Once Covered Code has been published under a particular version of the
          286  +     License, You may always continue to use it under the terms of that
          287  +     version. You may also choose to use such Covered Code under the terms
          288  +     of any subsequent version of the License published by Netscape. No one
          289  +     other than Netscape has the right to modify the terms applicable to
          290  +     Covered Code created under this License.
          291  +
          292  +     6.3. Derivative Works.
          293  +     If You create or use a modified version of this License (which you may
          294  +     only do in order to apply it to code which is not already Covered Code
          295  +     governed by this License), You must (a) rename Your license so that
          296  +     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
          297  +     "MPL", "NPL" or any confusingly similar phrase do not appear in your
          298  +     license (except to note that your license differs from this License)
          299  +     and (b) otherwise make it clear that Your version of the license
          300  +     contains terms which differ from the Mozilla Public License and
          301  +     Netscape Public License. (Filling in the name of the Initial
          302  +     Developer, Original Code or Contributor in the notice described in
          303  +     Exhibit A shall not of themselves be deemed to be modifications of
          304  +     this License.)
          305  +
          306  +7. DISCLAIMER OF WARRANTY.
          307  +
          308  +     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
          309  +     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
          310  +     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
          311  +     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
          312  +     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
          313  +     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
          314  +     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
          315  +     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
          316  +     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
          317  +     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
          318  +
          319  +8. TERMINATION.
          320  +
          321  +     8.1.  This License and the rights granted hereunder will terminate
          322  +     automatically if You fail to comply with terms herein and fail to cure
          323  +     such breach within 30 days of becoming aware of the breach. All
          324  +     sublicenses to the Covered Code which are properly granted shall
          325  +     survive any termination of this License. Provisions which, by their
          326  +     nature, must remain in effect beyond the termination of this License
          327  +     shall survive.
          328  +
          329  +     8.2.  If You initiate litigation by asserting a patent infringement
          330  +     claim (excluding declatory judgment actions) against Initial Developer
          331  +     or a Contributor (the Initial Developer or Contributor against whom
          332  +     You file such action is referred to as "Participant")  alleging that:
          333  +
          334  +     (a)  such Participant's Contributor Version directly or indirectly
          335  +     infringes any patent, then any and all rights granted by such
          336  +     Participant to You under Sections 2.1 and/or 2.2 of this License
          337  +     shall, upon 60 days notice from Participant terminate prospectively,
          338  +     unless if within 60 days after receipt of notice You either: (i)
          339  +     agree in writing to pay Participant a mutually agreeable reasonable
          340  +     royalty for Your past and future use of Modifications made by such
          341  +     Participant, or (ii) withdraw Your litigation claim with respect to
          342  +     the Contributor Version against such Participant.  If within 60 days
          343  +     of notice, a reasonable royalty and payment arrangement are not
          344  +     mutually agreed upon in writing by the parties or the litigation claim
          345  +     is not withdrawn, the rights granted by Participant to You under
          346  +     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
          347  +     the 60 day notice period specified above.
          348  +
          349  +     (b)  any software, hardware, or device, other than such Participant's
          350  +     Contributor Version, directly or indirectly infringes any patent, then
          351  +     any rights granted to You by such Participant under Sections 2.1(b)
          352  +     and 2.2(b) are revoked effective as of the date You first made, used,
          353  +     sold, distributed, or had made, Modifications made by that
          354  +     Participant.
          355  +
          356  +     8.3.  If You assert a patent infringement claim against Participant
          357  +     alleging that such Participant's Contributor Version directly or
          358  +     indirectly infringes any patent where such claim is resolved (such as
          359  +     by license or settlement) prior to the initiation of patent
          360  +     infringement litigation, then the reasonable value of the licenses
          361  +     granted by such Participant under Sections 2.1 or 2.2 shall be taken
          362  +     into account in determining the amount or value of any payment or
          363  +     license.
          364  +
          365  +     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
          366  +     all end user license agreements (excluding distributors and resellers)
          367  +     which have been validly granted by You or any distributor hereunder
          368  +     prior to termination shall survive termination.
          369  +
          370  +9. LIMITATION OF LIABILITY.
          371  +
          372  +     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
          373  +     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
          374  +     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
          375  +     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
          376  +     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
          377  +     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
          378  +     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
          379  +     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
          380  +     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
          381  +     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
          382  +     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
          383  +     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
          384  +     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
          385  +     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
          386  +
          387  +10. U.S. GOVERNMENT END USERS.
          388  +
          389  +     The Covered Code is a "commercial item," as that term is defined in
          390  +     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
          391  +     software" and "commercial computer software documentation," as such
          392  +     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
          393  +     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
          394  +     all U.S. Government End Users acquire Covered Code with only those
          395  +     rights set forth herein.
          396  +
          397  +11. MISCELLANEOUS.
          398  +
          399  +     This License represents the complete agreement concerning subject
          400  +     matter hereof. If any provision of this License is held to be
          401  +     unenforceable, such provision shall be reformed only to the extent
          402  +     necessary to make it enforceable. This License shall be governed by
          403  +     California law provisions (except to the extent applicable law, if
          404  +     any, provides otherwise), excluding its conflict-of-law provisions.
          405  +     With respect to disputes in which at least one party is a citizen of,
          406  +     or an entity chartered or registered to do business in the United
          407  +     States of America, any litigation relating to this License shall be
          408  +     subject to the jurisdiction of the Federal Courts of the Northern
          409  +     District of California, with venue lying in Santa Clara County,
          410  +     California, with the losing party responsible for costs, including
          411  +     without limitation, court costs and reasonable attorneys' fees and
          412  +     expenses. The application of the United Nations Convention on
          413  +     Contracts for the International Sale of Goods is expressly excluded.
          414  +     Any law or regulation which provides that the language of a contract
          415  +     shall be construed against the drafter shall not apply to this
          416  +     License.
          417  +
          418  +12. RESPONSIBILITY FOR CLAIMS.
          419  +
          420  +     As between Initial Developer and the Contributors, each party is
          421  +     responsible for claims and damages arising, directly or indirectly,
          422  +     out of its utilization of rights under this License and You agree to
          423  +     work with Initial Developer and Contributors to distribute such
          424  +     responsibility on an equitable basis. Nothing herein is intended or
          425  +     shall be deemed to constitute any admission of liability.
          426  +
          427  +13. MULTIPLE-LICENSED CODE.
          428  +
          429  +     Initial Developer may designate portions of the Covered Code as
          430  +     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
          431  +     Developer permits you to utilize portions of the Covered Code under
          432  +     Your choice of the NPL or the alternative licenses, if any, specified
          433  +     by the Initial Developer in the file described in Exhibit A.
          434  +
          435  +EXHIBIT A -Mozilla Public License.
          436  +
          437  +     ``The contents of this file are subject to the Mozilla Public License
          438  +     Version 1.1 (the "License"); you may not use this file except in
          439  +     compliance with the License. You may obtain a copy of the License at
          440  +     http://www.mozilla.org/MPL/
          441  +
          442  +     Software distributed under the License is distributed on an "AS IS"
          443  +     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
          444  +     License for the specific language governing rights and limitations
          445  +     under the License.
          446  +
          447  +     The Original Code is the ReadOSM library.
          448  +
          449  +     The Initial Developer of the Original Code is Alessandro Furieri.
          450  +     Portions created by the Initial Developer are Copyright (C) 2012
          451  +     the Initial Developer. All Rights Reserved.
          452  +
          453  +     Contributor(s):
          454  +
          455  +     Alternatively, the contents of this file may be used under the terms of
          456  +     either the GNU General Public License Version 2 or later (the "GPL"), or
          457  +     the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
          458  +     in which case the provisions of the GPL or the LGPL are applicable instead
          459  +     of those above. If you wish to allow use of your version of this file only
          460  +     under the terms of either the GPL or the LGPL, and not to allow others to
          461  +     use your version of this file under the terms of the MPL, indicate your
          462  +     decision by deleting the provisions above and replace them with the notice
          463  +     and other provisions required by the GPL or the LGPL. If you do not delete
          464  +     the provisions above, a recipient may use your version of this file under
          465  +     the terms of any one of the MPL, the GPL or the LGPL.
          466  +
          467  +     [NOTE: The text of this Exhibit A may differ slightly from the text of
          468  +     the notices in the Source Code files of the Original Code. You should
          469  +     use the text of this Exhibit A rather than the text found in the
          470  +     Original Code Source Code for Your Modifications.]
          471  +

Added ChangeLog.


Added Doxyfile.in.

            1  +# Doxyfile 1.7.3
            2  +
            3  +# This file describes the settings to be used by the documentation system
            4  +# doxygen (www.doxygen.org) for a project.
            5  +#
            6  +# All text after a hash (#) is considered a comment and will be ignored.
            7  +# The format is:
            8  +#       TAG = value [value, ...]
            9  +# For lists items can also be appended using:
           10  +#       TAG += value [value, ...]
           11  +# Values that contain spaces should be placed between quotes (" ").
           12  +
           13  +#---------------------------------------------------------------------------
           14  +# Project related configuration options
           15  +#---------------------------------------------------------------------------
           16  +
           17  +# This tag specifies the encoding used for all characters in the config file
           18  +# that follow. The default is UTF-8 which is also the encoding used for all
           19  +# text before the first occurrence of this tag. Doxygen uses libiconv (or the
           20  +# iconv built into libc) for the transcoding. See
           21  +# http://www.gnu.org/software/libiconv for the list of possible encodings.
           22  +
           23  +DOXYFILE_ENCODING      = UTF-8
           24  +
           25  +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
           26  +# by quotes) that should identify the project.
           27  +
           28  +PROJECT_NAME           = readosm
           29  +
           30  +# The PROJECT_NUMBER tag can be used to enter a project or revision number.
           31  +# This could be handy for archiving the generated documentation or
           32  +# if some version control system is used.
           33  +
           34  +PROJECT_NUMBER         = @VERSION@
           35  +
           36  +# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short.
           37  +
           38  +PROJECT_BRIEF          =
           39  +
           40  +# With the PROJECT_LOGO tag one can specify an logo or icon that is
           41  +# included in the documentation. The maximum height of the logo should not
           42  +# exceed 55 pixels and the maximum width should not exceed 200 pixels.
           43  +# Doxygen will copy the logo to the output directory.
           44  +
           45  +PROJECT_LOGO           =
           46  +
           47  +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
           48  +# base path where the generated documentation will be put.
           49  +# If a relative path is entered, it will be relative to the location
           50  +# where doxygen was started. If left blank the current directory will be used.
           51  +
           52  +OUTPUT_DIRECTORY       =
           53  +
           54  +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
           55  +# 4096 sub-directories (in 2 levels) under the output directory of each output
           56  +# format and will distribute the generated files over these directories.
           57  +# Enabling this option can be useful when feeding doxygen a huge amount of
           58  +# source files, where putting all generated files in the same directory would
           59  +# otherwise cause performance problems for the file system.
           60  +
           61  +CREATE_SUBDIRS         = NO
           62  +
           63  +# The OUTPUT_LANGUAGE tag is used to specify the language in which all
           64  +# documentation generated by doxygen is written. Doxygen will use this
           65  +# information to generate all constant output in the proper language.
           66  +# The default language is English, other supported languages are:
           67  +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
           68  +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
           69  +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
           70  +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
           71  +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
           72  +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
           73  +
           74  +OUTPUT_LANGUAGE        = English
           75  +
           76  +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
           77  +# include brief member descriptions after the members that are listed in
           78  +# the file and class documentation (similar to JavaDoc).
           79  +# Set to NO to disable this.
           80  +
           81  +BRIEF_MEMBER_DESC      = YES
           82  +
           83  +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
           84  +# the brief description of a member or function before the detailed description.
           85  +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
           86  +# brief descriptions will be completely suppressed.
           87  +
           88  +REPEAT_BRIEF           = YES
           89  +
           90  +# This tag implements a quasi-intelligent brief description abbreviator
           91  +# that is used to form the text in various listings. Each string
           92  +# in this list, if found as the leading text of the brief description, will be
           93  +# stripped from the text and the result after processing the whole list, is
           94  +# used as the annotated text. Otherwise, the brief description is used as-is.
           95  +# If left blank, the following values are used ("$name" is automatically
           96  +# replaced with the name of the entity): "The $name class" "The $name widget"
           97  +# "The $name file" "is" "provides" "specifies" "contains"
           98  +# "represents" "a" "an" "the"
           99  +
          100  +ABBREVIATE_BRIEF       =
          101  +
          102  +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
          103  +# Doxygen will generate a detailed section even if there is only a brief
          104  +# description.
          105  +
          106  +ALWAYS_DETAILED_SEC    = NO
          107  +
          108  +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
          109  +# inherited members of a class in the documentation of that class as if those
          110  +# members were ordinary class members. Constructors, destructors and assignment
          111  +# operators of the base classes will not be shown.
          112  +
          113  +INLINE_INHERITED_MEMB  = NO
          114  +
          115  +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
          116  +# path before files name in the file list and in the header files. If set
          117  +# to NO the shortest path that makes the file name unique will be used.
          118  +
          119  +FULL_PATH_NAMES        = YES
          120  +
          121  +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
          122  +# can be used to strip a user-defined part of the path. Stripping is
          123  +# only done if one of the specified strings matches the left-hand part of
          124  +# the path. The tag can be used to show relative paths in the file list.
          125  +# If left blank the directory from which doxygen is run is used as the
          126  +# path to strip.
          127  +
          128  +STRIP_FROM_PATH        =
          129  +
          130  +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
          131  +# the path mentioned in the documentation of a class, which tells
          132  +# the reader which header file to include in order to use a class.
          133  +# If left blank only the name of the header file containing the class
          134  +# definition is used. Otherwise one should specify the include paths that
          135  +# are normally passed to the compiler using the -I flag.
          136  +
          137  +STRIP_FROM_INC_PATH    =
          138  +
          139  +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
          140  +# (but less readable) file names. This can be useful if your file system
          141  +# doesn't support long names like on DOS, Mac, or CD-ROM.
          142  +
          143  +SHORT_NAMES            = NO
          144  +
          145  +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
          146  +# will interpret the first line (until the first dot) of a JavaDoc-style
          147  +# comment as the brief description. If set to NO, the JavaDoc
          148  +# comments will behave just like regular Qt-style comments
          149  +# (thus requiring an explicit @brief command for a brief description.)
          150  +
          151  +JAVADOC_AUTOBRIEF      = YES
          152  +
          153  +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
          154  +# interpret the first line (until the first dot) of a Qt-style
          155  +# comment as the brief description. If set to NO, the comments
          156  +# will behave just like regular Qt-style comments (thus requiring
          157  +# an explicit \brief command for a brief description.)
          158  +
          159  +QT_AUTOBRIEF           = NO
          160  +
          161  +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
          162  +# treat a multi-line C++ special comment block (i.e. a block of //! or ///
          163  +# comments) as a brief description. This used to be the default behaviour.
          164  +# The new default is to treat a multi-line C++ comment block as a detailed
          165  +# description. Set this tag to YES if you prefer the old behaviour instead.
          166  +
          167  +MULTILINE_CPP_IS_BRIEF = NO
          168  +
          169  +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
          170  +# member inherits the documentation from any documented member that it
          171  +# re-implements.
          172  +
          173  +INHERIT_DOCS           = YES
          174  +
          175  +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
          176  +# a new page for each member. If set to NO, the documentation of a member will
          177  +# be part of the file/class/namespace that contains it.
          178  +
          179  +SEPARATE_MEMBER_PAGES  = NO
          180  +
          181  +# The TAB_SIZE tag can be used to set the number of spaces in a tab.
          182  +# Doxygen uses this value to replace tabs by spaces in code fragments.
          183  +
          184  +TAB_SIZE               = 8
          185  +
          186  +# This tag can be used to specify a number of aliases that acts
          187  +# as commands in the documentation. An alias has the form "name=value".
          188  +# For example adding "sideeffect=\par Side Effects:\n" will allow you to
          189  +# put the command \sideeffect (or @sideeffect) in the documentation, which
          190  +# will result in a user-defined paragraph with heading "Side Effects:".
          191  +# You can put \n's in the value part of an alias to insert newlines.
          192  +
          193  +ALIASES                =
          194  +
          195  +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
          196  +# sources only. Doxygen will then generate output that is more tailored for C.
          197  +# For instance, some of the names that are used will be different. The list
          198  +# of all members will be omitted, etc.
          199  +
          200  +OPTIMIZE_OUTPUT_FOR_C  = YES
          201  +
          202  +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
          203  +# sources only. Doxygen will then generate output that is more tailored for
          204  +# Java. For instance, namespaces will be presented as packages, qualified
          205  +# scopes will look different, etc.
          206  +
          207  +OPTIMIZE_OUTPUT_JAVA   = NO
          208  +
          209  +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
          210  +# sources only. Doxygen will then generate output that is more tailored for
          211  +# Fortran.
          212  +
          213  +OPTIMIZE_FOR_FORTRAN   = NO
          214  +
          215  +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
          216  +# sources. Doxygen will then generate output that is tailored for
          217  +# VHDL.
          218  +
          219  +OPTIMIZE_OUTPUT_VHDL   = NO
          220  +
          221  +# Doxygen selects the parser to use depending on the extension of the files it
          222  +# parses. With this tag you can assign which parser to use for a given extension.
          223  +# Doxygen has a built-in mapping, but you can override or extend it using this
          224  +# tag. The format is ext=language, where ext is a file extension, and language
          225  +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
          226  +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
          227  +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
          228  +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
          229  +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
          230  +
          231  +EXTENSION_MAPPING      =
          232  +
          233  +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
          234  +# to include (a tag file for) the STL sources as input, then you should
          235  +# set this tag to YES in order to let doxygen match functions declarations and
          236  +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
          237  +# func(std::string) {}). This also makes the inheritance and collaboration
          238  +# diagrams that involve STL classes more complete and accurate.
          239  +
          240  +BUILTIN_STL_SUPPORT    = NO
          241  +
          242  +# If you use Microsoft's C++/CLI language, you should set this option to YES to
          243  +# enable parsing support.
          244  +
          245  +CPP_CLI_SUPPORT        = NO
          246  +
          247  +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
          248  +# Doxygen will parse them like normal C++ but will assume all classes use public
          249  +# instead of private inheritance when no explicit protection keyword is present.
          250  +
          251  +SIP_SUPPORT            = NO
          252  +
          253  +# For Microsoft's IDL there are propget and propput attributes to indicate getter
          254  +# and setter methods for a property. Setting this option to YES (the default)
          255  +# will make doxygen replace the get and set methods by a property in the
          256  +# documentation. This will only work if the methods are indeed getting or
          257  +# setting a simple type. If this is not the case, or you want to show the
          258  +# methods anyway, you should set this option to NO.
          259  +
          260  +IDL_PROPERTY_SUPPORT   = YES
          261  +
          262  +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
          263  +# tag is set to YES, then doxygen will reuse the documentation of the first
          264  +# member in the group (if any) for the other members of the group. By default
          265  +# all members of a group must be documented explicitly.
          266  +
          267  +DISTRIBUTE_GROUP_DOC   = NO
          268  +
          269  +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
          270  +# the same type (for instance a group of public functions) to be put as a
          271  +# subgroup of that type (e.g. under the Public Functions section). Set it to
          272  +# NO to prevent subgrouping. Alternatively, this can be done per class using
          273  +# the \nosubgrouping command.
          274  +
          275  +SUBGROUPING            = YES
          276  +
          277  +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
          278  +# is documented as struct, union, or enum with the name of the typedef. So
          279  +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
          280  +# with name TypeT. When disabled the typedef will appear as a member of a file,
          281  +# namespace, or class. And the struct will be named TypeS. This can typically
          282  +# be useful for C code in case the coding convention dictates that all compound
          283  +# types are typedef'ed and only the typedef is referenced, never the tag name.
          284  +
          285  +TYPEDEF_HIDES_STRUCT   = NO
          286  +
          287  +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
          288  +# determine which symbols to keep in memory and which to flush to disk.
          289  +# When the cache is full, less often used symbols will be written to disk.
          290  +# For small to medium size projects (<1000 input files) the default value is
          291  +# probably good enough. For larger projects a too small cache size can cause
          292  +# doxygen to be busy swapping symbols to and from disk most of the time
          293  +# causing a significant performance penalty.
          294  +# If the system has enough physical memory increasing the cache will improve the
          295  +# performance by keeping more symbols in memory. Note that the value works on
          296  +# a logarithmic scale so increasing the size by one will roughly double the
          297  +# memory usage. The cache size is given by this formula:
          298  +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
          299  +# corresponding to a cache size of 2^16 = 65536 symbols
          300  +
          301  +SYMBOL_CACHE_SIZE      = 0
          302  +
          303  +#---------------------------------------------------------------------------
          304  +# Build related configuration options
          305  +#---------------------------------------------------------------------------
          306  +
          307  +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
          308  +# documentation are documented, even if no documentation was available.
          309  +# Private class members and static file members will be hidden unless
          310  +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
          311  +
          312  +EXTRACT_ALL            = NO
          313  +
          314  +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
          315  +# will be included in the documentation.
          316  +
          317  +EXTRACT_PRIVATE        = NO
          318  +
          319  +# If the EXTRACT_STATIC tag is set to YES all static members of a file
          320  +# will be included in the documentation.
          321  +
          322  +EXTRACT_STATIC         = NO
          323  +
          324  +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
          325  +# defined locally in source files will be included in the documentation.
          326  +# If set to NO only classes defined in header files are included.
          327  +
          328  +EXTRACT_LOCAL_CLASSES  = YES
          329  +
          330  +# This flag is only useful for Objective-C code. When set to YES local
          331  +# methods, which are defined in the implementation section but not in
          332  +# the interface are included in the documentation.
          333  +# If set to NO (the default) only methods in the interface are included.
          334  +
          335  +EXTRACT_LOCAL_METHODS  = NO
          336  +
          337  +# If this flag is set to YES, the members of anonymous namespaces will be
          338  +# extracted and appear in the documentation as a namespace called
          339  +# 'anonymous_namespace{file}', where file will be replaced with the base
          340  +# name of the file that contains the anonymous namespace. By default
          341  +# anonymous namespaces are hidden.
          342  +
          343  +EXTRACT_ANON_NSPACES   = NO
          344  +
          345  +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
          346  +# undocumented members of documented classes, files or namespaces.
          347  +# If set to NO (the default) these members will be included in the
          348  +# various overviews, but no documentation section is generated.
          349  +# This option has no effect if EXTRACT_ALL is enabled.
          350  +
          351  +HIDE_UNDOC_MEMBERS     = NO
          352  +
          353  +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
          354  +# undocumented classes that are normally visible in the class hierarchy.
          355  +# If set to NO (the default) these classes will be included in the various
          356  +# overviews. This option has no effect if EXTRACT_ALL is enabled.
          357  +
          358  +HIDE_UNDOC_CLASSES     = NO
          359  +
          360  +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
          361  +# friend (class|struct|union) declarations.
          362  +# If set to NO (the default) these declarations will be included in the
          363  +# documentation.
          364  +
          365  +HIDE_FRIEND_COMPOUNDS  = NO
          366  +
          367  +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
          368  +# documentation blocks found inside the body of a function.
          369  +# If set to NO (the default) these blocks will be appended to the
          370  +# function's detailed documentation block.
          371  +
          372  +HIDE_IN_BODY_DOCS      = NO
          373  +
          374  +# The INTERNAL_DOCS tag determines if documentation
          375  +# that is typed after a \internal command is included. If the tag is set
          376  +# to NO (the default) then the documentation will be excluded.
          377  +# Set it to YES to include the internal documentation.
          378  +
          379  +INTERNAL_DOCS          = NO
          380  +
          381  +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
          382  +# file names in lower-case letters. If set to YES upper-case letters are also
          383  +# allowed. This is useful if you have classes or files whose names only differ
          384  +# in case and if your file system supports case sensitive file names. Windows
          385  +# and Mac users are advised to set this option to NO.
          386  +
          387  +CASE_SENSE_NAMES       = YES
          388  +
          389  +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
          390  +# will show members with their full class and namespace scopes in the
          391  +# documentation. If set to YES the scope will be hidden.
          392  +
          393  +HIDE_SCOPE_NAMES       = NO
          394  +
          395  +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
          396  +# will put a list of the files that are included by a file in the documentation
          397  +# of that file.
          398  +
          399  +SHOW_INCLUDE_FILES     = YES
          400  +
          401  +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
          402  +# will list include files with double quotes in the documentation
          403  +# rather than with sharp brackets.
          404  +
          405  +FORCE_LOCAL_INCLUDES   = NO
          406  +
          407  +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
          408  +# is inserted in the documentation for inline members.
          409  +
          410  +INLINE_INFO            = YES
          411  +
          412  +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
          413  +# will sort the (detailed) documentation of file and class members
          414  +# alphabetically by member name. If set to NO the members will appear in
          415  +# declaration order.
          416  +
          417  +SORT_MEMBER_DOCS       = YES
          418  +
          419  +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
          420  +# brief documentation of file, namespace and class members alphabetically
          421  +# by member name. If set to NO (the default) the members will appear in
          422  +# declaration order.
          423  +
          424  +SORT_BRIEF_DOCS        = NO
          425  +
          426  +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
          427  +# will sort the (brief and detailed) documentation of class members so that
          428  +# constructors and destructors are listed first. If set to NO (the default)
          429  +# the constructors will appear in the respective orders defined by
          430  +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
          431  +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
          432  +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
          433  +
          434  +SORT_MEMBERS_CTORS_1ST = NO
          435  +
          436  +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
          437  +# hierarchy of group names into alphabetical order. If set to NO (the default)
          438  +# the group names will appear in their defined order.
          439  +
          440  +SORT_GROUP_NAMES       = NO
          441  +
          442  +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
          443  +# sorted by fully-qualified names, including namespaces. If set to
          444  +# NO (the default), the class list will be sorted only by class name,
          445  +# not including the namespace part.
          446  +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
          447  +# Note: This option applies only to the class list, not to the
          448  +# alphabetical list.
          449  +
          450  +SORT_BY_SCOPE_NAME     = NO
          451  +
          452  +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a
          453  +# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
          454  +# will still accept a match between prototype and implementation in such cases.
          455  +
          456  +STRICT_PROTO_MATCHING  = NO
          457  +
          458  +# The GENERATE_TODOLIST tag can be used to enable (YES) or
          459  +# disable (NO) the todo list. This list is created by putting \todo
          460  +# commands in the documentation.
          461  +
          462  +GENERATE_TODOLIST      = YES
          463  +
          464  +# The GENERATE_TESTLIST tag can be used to enable (YES) or
          465  +# disable (NO) the test list. This list is created by putting \test
          466  +# commands in the documentation.
          467  +
          468  +GENERATE_TESTLIST      = YES
          469  +
          470  +# The GENERATE_BUGLIST tag can be used to enable (YES) or
          471  +# disable (NO) the bug list. This list is created by putting \bug
          472  +# commands in the documentation.
          473  +
          474  +GENERATE_BUGLIST       = YES
          475  +
          476  +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
          477  +# disable (NO) the deprecated list. This list is created by putting
          478  +# \deprecated commands in the documentation.
          479  +
          480  +GENERATE_DEPRECATEDLIST= YES
          481  +
          482  +# The ENABLED_SECTIONS tag can be used to enable conditional
          483  +# documentation sections, marked by \if sectionname ... \endif.
          484  +
          485  +ENABLED_SECTIONS       =
          486  +
          487  +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
          488  +# the initial value of a variable or macro consists of for it to appear in
          489  +# the documentation. If the initializer consists of more lines than specified
          490  +# here it will be hidden. Use a value of 0 to hide initializers completely.
          491  +# The appearance of the initializer of individual variables and macros in the
          492  +# documentation can be controlled using \showinitializer or \hideinitializer
          493  +# command in the documentation regardless of this setting.
          494  +
          495  +MAX_INITIALIZER_LINES  = 30
          496  +
          497  +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
          498  +# at the bottom of the documentation of classes and structs. If set to YES the
          499  +# list will mention the files that were used to generate the documentation.
          500  +
          501  +SHOW_USED_FILES        = YES
          502  +
          503  +# If the sources in your project are distributed over multiple directories
          504  +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
          505  +# in the documentation. The default is NO.
          506  +
          507  +SHOW_DIRECTORIES       = NO
          508  +
          509  +# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
          510  +# This will remove the Files entry from the Quick Index and from the
          511  +# Folder Tree View (if specified). The default is YES.
          512  +
          513  +SHOW_FILES             = YES
          514  +
          515  +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
          516  +# Namespaces page.
          517  +# This will remove the Namespaces entry from the Quick Index
          518  +# and from the Folder Tree View (if specified). The default is YES.
          519  +
          520  +SHOW_NAMESPACES        = YES
          521  +
          522  +# The FILE_VERSION_FILTER tag can be used to specify a program or script that
          523  +# doxygen should invoke to get the current version for each file (typically from
          524  +# the version control system). Doxygen will invoke the program by executing (via
          525  +# popen()) the command <command> <input-file>, where <command> is the value of
          526  +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
          527  +# provided by doxygen. Whatever the program writes to standard output
          528  +# is used as the file version. See the manual for examples.
          529  +
          530  +FILE_VERSION_FILTER    =
          531  +
          532  +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
          533  +# by doxygen. The layout file controls the global structure of the generated
          534  +# output files in an output format independent way. The create the layout file
          535  +# that represents doxygen's defaults, run doxygen with the -l option.
          536  +# You can optionally specify a file name after the option, if omitted
          537  +# DoxygenLayout.xml will be used as the name of the layout file.
          538  +
          539  +LAYOUT_FILE            =
          540  +
          541  +#---------------------------------------------------------------------------
          542  +# configuration options related to warning and progress messages
          543  +#---------------------------------------------------------------------------
          544  +
          545  +# The QUIET tag can be used to turn on/off the messages that are generated
          546  +# by doxygen. Possible values are YES and NO. If left blank NO is used.
          547  +
          548  +QUIET                  = NO
          549  +
          550  +# The WARNINGS tag can be used to turn on/off the warning messages that are
          551  +# generated by doxygen. Possible values are YES and NO. If left blank
          552  +# NO is used.
          553  +
          554  +WARNINGS               = YES
          555  +
          556  +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
          557  +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
          558  +# automatically be disabled.
          559  +
          560  +WARN_IF_UNDOCUMENTED   = YES
          561  +
          562  +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
          563  +# potential errors in the documentation, such as not documenting some
          564  +# parameters in a documented function, or documenting parameters that
          565  +# don't exist or using markup commands wrongly.
          566  +
          567  +WARN_IF_DOC_ERROR      = YES
          568  +
          569  +# The WARN_NO_PARAMDOC option can be enabled to get warnings for
          570  +# functions that are documented, but have no documentation for their parameters
          571  +# or return value. If set to NO (the default) doxygen will only warn about
          572  +# wrong or incomplete parameter documentation, but not about the absence of
          573  +# documentation.
          574  +
          575  +WARN_NO_PARAMDOC       = NO
          576  +
          577  +# The WARN_FORMAT tag determines the format of the warning messages that
          578  +# doxygen can produce. The string should contain the $file, $line, and $text
          579  +# tags, which will be replaced by the file and line number from which the
          580  +# warning originated and the warning text. Optionally the format may contain
          581  +# $version, which will be replaced by the version of the file (if it could
          582  +# be obtained via FILE_VERSION_FILTER)
          583  +
          584  +WARN_FORMAT            = "$file:$line: $text"
          585  +
          586  +# The WARN_LOGFILE tag can be used to specify a file to which warning
          587  +# and error messages should be written. If left blank the output is written
          588  +# to stderr.
          589  +
          590  +WARN_LOGFILE           =
          591  +
          592  +#---------------------------------------------------------------------------
          593  +# configuration options related to the input files
          594  +#---------------------------------------------------------------------------
          595  +
          596  +# The INPUT tag can be used to specify the files and/or directories that contain
          597  +# documented source files. You may enter file names like "myfile.cpp" or
          598  +# directories like "/usr/src/myproject". Separate the files or directories
          599  +# with spaces.
          600  +
          601  +INPUT                  = headers/readosm.h \
          602  +			examples/examples.doxy \
          603  +			mainpage.doxy
          604  +
          605  +# This tag can be used to specify the character encoding of the source files
          606  +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
          607  +# also the default input encoding. Doxygen uses libiconv (or the iconv built
          608  +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
          609  +# the list of possible encodings.
          610  +
          611  +INPUT_ENCODING         = UTF-8
          612  +
          613  +# If the value of the INPUT tag contains directories, you can use the
          614  +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
          615  +# and *.h) to filter out the source-files in the directories. If left
          616  +# blank the following patterns are tested:
          617  +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
          618  +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
          619  +# *.f90 *.f *.for *.vhd *.vhdl
          620  +
          621  +FILE_PATTERNS          =
          622  +
          623  +# The RECURSIVE tag can be used to turn specify whether or not subdirectories
          624  +# should be searched for input files as well. Possible values are YES and NO.
          625  +# If left blank NO is used.
          626  +
          627  +RECURSIVE              = NO
          628  +
          629  +# The EXCLUDE tag can be used to specify files and/or directories that should
          630  +# excluded from the INPUT source files. This way you can easily exclude a
          631  +# subdirectory from a directory tree whose root is specified with the INPUT tag.
          632  +
          633  +EXCLUDE                =
          634  +
          635  +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
          636  +# directories that are symbolic links (a Unix file system feature) are excluded
          637  +# from the input.
          638  +
          639  +EXCLUDE_SYMLINKS       = NO
          640  +
          641  +# If the value of the INPUT tag contains directories, you can use the
          642  +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
          643  +# certain files from those directories. Note that the wildcards are matched
          644  +# against the file with absolute path, so to exclude all test directories
          645  +# for example use the pattern */test/*
          646  +
          647  +EXCLUDE_PATTERNS       =
          648  +
          649  +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
          650  +# (namespaces, classes, functions, etc.) that should be excluded from the
          651  +# output. The symbol name can be a fully qualified name, a word, or if the
          652  +# wildcard * is used, a substring. Examples: ANamespace, AClass,
          653  +# AClass::ANamespace, ANamespace::*Test
          654  +
          655  +EXCLUDE_SYMBOLS        =
          656  +
          657  +# The EXAMPLE_PATH tag can be used to specify one or more files or
          658  +# directories that contain example code fragments that are included (see
          659  +# the \include command).
          660  +
          661  +EXAMPLE_PATH           = examples
          662  +
          663  +# If the value of the EXAMPLE_PATH tag contains directories, you can use the
          664  +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
          665  +# and *.h) to filter out the source-files in the directories. If left
          666  +# blank all files are included.
          667  +
          668  +EXAMPLE_PATTERNS       =
          669  +
          670  +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
          671  +# searched for input files to be used with the \include or \dontinclude
          672  +# commands irrespective of the value of the RECURSIVE tag.
          673  +# Possible values are YES and NO. If left blank NO is used.
          674  +
          675  +EXAMPLE_RECURSIVE      = NO
          676  +
          677  +# The IMAGE_PATH tag can be used to specify one or more files or
          678  +# directories that contain image that are included in the documentation (see
          679  +# the \image command).
          680  +
          681  +IMAGE_PATH             = images
          682  +
          683  +# The INPUT_FILTER tag can be used to specify a program that doxygen should
          684  +# invoke to filter for each input file. Doxygen will invoke the filter program
          685  +# by executing (via popen()) the command <filter> <input-file>, where <filter>
          686  +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
          687  +# input file. Doxygen will then use the output that the filter program writes
          688  +# to standard output.
          689  +# If FILTER_PATTERNS is specified, this tag will be
          690  +# ignored.
          691  +
          692  +INPUT_FILTER           =
          693  +
          694  +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
          695  +# basis.
          696  +# Doxygen will compare the file name with each pattern and apply the
          697  +# filter if there is a match.
          698  +# The filters are a list of the form:
          699  +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
          700  +# info on how filters are used. If FILTER_PATTERNS is empty or if
          701  +# non of the patterns match the file name, INPUT_FILTER is applied.
          702  +
          703  +FILTER_PATTERNS        =
          704  +
          705  +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
          706  +# INPUT_FILTER) will be used to filter the input files when producing source
          707  +# files to browse (i.e. when SOURCE_BROWSER is set to YES).
          708  +
          709  +FILTER_SOURCE_FILES    = NO
          710  +
          711  +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
          712  +# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
          713  +# and it is also possible to disable source filtering for a specific pattern
          714  +# using *.ext= (so without naming a filter). This option only has effect when
          715  +# FILTER_SOURCE_FILES is enabled.
          716  +
          717  +FILTER_SOURCE_PATTERNS =
          718  +
          719  +#---------------------------------------------------------------------------
          720  +# configuration options related to source browsing
          721  +#---------------------------------------------------------------------------
          722  +
          723  +# If the SOURCE_BROWSER tag is set to YES then a list of source files will
          724  +# be generated. Documented entities will be cross-referenced with these sources.
          725  +# Note: To get rid of all source code in the generated output, make sure also
          726  +# VERBATIM_HEADERS is set to NO.
          727  +
          728  +SOURCE_BROWSER         = NO
          729  +
          730  +# Setting the INLINE_SOURCES tag to YES will include the body
          731  +# of functions and classes directly in the documentation.
          732  +
          733  +INLINE_SOURCES         = NO
          734  +
          735  +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
          736  +# doxygen to hide any special comment blocks from generated source code
          737  +# fragments. Normal C and C++ comments will always remain visible.
          738  +
          739  +STRIP_CODE_COMMENTS    = YES
          740  +
          741  +# If the REFERENCED_BY_RELATION tag is set to YES
          742  +# then for each documented function all documented
          743  +# functions referencing it will be listed.
          744  +
          745  +REFERENCED_BY_RELATION = NO
          746  +
          747  +# If the REFERENCES_RELATION tag is set to YES
          748  +# then for each documented function all documented entities
          749  +# called/used by that function will be listed.
          750  +
          751  +REFERENCES_RELATION    = NO
          752  +
          753  +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
          754  +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
          755  +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
          756  +# link to the source code.
          757  +# Otherwise they will link to the documentation.
          758  +
          759  +REFERENCES_LINK_SOURCE = YES
          760  +
          761  +# If the USE_HTAGS tag is set to YES then the references to source code
          762  +# will point to the HTML generated by the htags(1) tool instead of doxygen
          763  +# built-in source browser. The htags tool is part of GNU's global source
          764  +# tagging system (see http://www.gnu.org/software/global/global.html). You
          765  +# will need version 4.8.6 or higher.
          766  +
          767  +USE_HTAGS              = NO
          768  +
          769  +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
          770  +# will generate a verbatim copy of the header file for each class for
          771  +# which an include is specified. Set to NO to disable this.
          772  +
          773  +VERBATIM_HEADERS       = YES
          774  +
          775  +#---------------------------------------------------------------------------
          776  +# configuration options related to the alphabetical class index
          777  +#---------------------------------------------------------------------------
          778  +
          779  +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
          780  +# of all compounds will be generated. Enable this if the project
          781  +# contains a lot of classes, structs, unions or interfaces.
          782  +
          783  +ALPHABETICAL_INDEX     = YES
          784  +
          785  +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
          786  +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
          787  +# in which this list will be split (can be a number in the range [1..20])
          788  +
          789  +COLS_IN_ALPHA_INDEX    = 5
          790  +
          791  +# In case all classes in a project start with a common prefix, all
          792  +# classes will be put under the same header in the alphabetical index.
          793  +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
          794  +# should be ignored while generating the index headers.
          795  +
          796  +IGNORE_PREFIX          =
          797  +
          798  +#---------------------------------------------------------------------------
          799  +# configuration options related to the HTML output
          800  +#---------------------------------------------------------------------------
          801  +
          802  +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
          803  +# generate HTML output.
          804  +
          805  +GENERATE_HTML          = YES
          806  +
          807  +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
          808  +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
          809  +# put in front of it. If left blank `html' will be used as the default path.
          810  +
          811  +HTML_OUTPUT            = html
          812  +
          813  +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
          814  +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
          815  +# doxygen will generate files with .html extension.
          816  +
          817  +HTML_FILE_EXTENSION    = .html
          818  +
          819  +# The HTML_HEADER tag can be used to specify a personal HTML header for
          820  +# each generated HTML page. If it is left blank doxygen will generate a
          821  +# standard header.
          822  +
          823  +HTML_HEADER            =
          824  +
          825  +# The HTML_FOOTER tag can be used to specify a personal HTML footer for
          826  +# each generated HTML page. If it is left blank doxygen will generate a
          827  +# standard footer.
          828  +
          829  +HTML_FOOTER            =
          830  +
          831  +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
          832  +# style sheet that is used by each HTML page. It can be used to
          833  +# fine-tune the look of the HTML output. If the tag is left blank doxygen
          834  +# will generate a default style sheet. Note that doxygen will try to copy
          835  +# the style sheet file to the HTML output directory, so don't put your own
          836  +# stylesheet in the HTML output directory as well, or it will be erased!
          837  +
          838  +HTML_STYLESHEET        =
          839  +
          840  +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
          841  +# Doxygen will adjust the colors in the stylesheet and background images
          842  +# according to this color. Hue is specified as an angle on a colorwheel,
          843  +# see http://en.wikipedia.org/wiki/Hue for more information.
          844  +# For instance the value 0 represents red, 60 is yellow, 120 is green,
          845  +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
          846  +# The allowed range is 0 to 359.
          847  +
          848  +HTML_COLORSTYLE_HUE    = 220
          849  +
          850  +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
          851  +# the colors in the HTML output. For a value of 0 the output will use
          852  +# grayscales only. A value of 255 will produce the most vivid colors.
          853  +
          854  +HTML_COLORSTYLE_SAT    = 100
          855  +
          856  +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
          857  +# the luminance component of the colors in the HTML output. Values below
          858  +# 100 gradually make the output lighter, whereas values above 100 make
          859  +# the output darker. The value divided by 100 is the actual gamma applied,
          860  +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
          861  +# and 100 does not change the gamma.
          862  +
          863  +HTML_COLORSTYLE_GAMMA  = 80
          864  +
          865  +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
          866  +# page will contain the date and time when the page was generated. Setting
          867  +# this to NO can help when comparing the output of multiple runs.
          868  +
          869  +HTML_TIMESTAMP         = YES
          870  +
          871  +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
          872  +# files or namespaces will be aligned in HTML using tables. If set to
          873  +# NO a bullet list will be used.
          874  +
          875  +HTML_ALIGN_MEMBERS     = YES
          876  +
          877  +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
          878  +# documentation will contain sections that can be hidden and shown after the
          879  +# page has loaded. For this to work a browser that supports
          880  +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
          881  +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
          882  +
          883  +HTML_DYNAMIC_SECTIONS  = NO
          884  +
          885  +# If the GENERATE_DOCSET tag is set to YES, additional index files
          886  +# will be generated that can be used as input for Apple's Xcode 3
          887  +# integrated development environment, introduced with OSX 10.5 (Leopard).
          888  +# To create a documentation set, doxygen will generate a Makefile in the
          889  +# HTML output directory. Running make will produce the docset in that
          890  +# directory and running "make install" will install the docset in
          891  +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
          892  +# it at startup.
          893  +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
          894  +# for more information.
          895  +
          896  +GENERATE_DOCSET        = NO
          897  +
          898  +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
          899  +# feed. A documentation feed provides an umbrella under which multiple
          900  +# documentation sets from a single provider (such as a company or product suite)
          901  +# can be grouped.
          902  +
          903  +DOCSET_FEEDNAME        = "Doxygen generated docs"
          904  +
          905  +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
          906  +# should uniquely identify the documentation set bundle. This should be a
          907  +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
          908  +# will append .docset to the name.
          909  +
          910  +DOCSET_BUNDLE_ID       = org.doxygen.Project
          911  +
          912  +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
          913  +# the documentation publisher. This should be a reverse domain-name style
          914  +# string, e.g. com.mycompany.MyDocSet.documentation.
          915  +
          916  +DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
          917  +
          918  +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
          919  +
          920  +DOCSET_PUBLISHER_NAME  = Publisher
          921  +
          922  +# If the GENERATE_HTMLHELP tag is set to YES, additional index files
          923  +# will be generated that can be used as input for tools like the
          924  +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
          925  +# of the generated HTML documentation.
          926  +
          927  +GENERATE_HTMLHELP      = NO
          928  +
          929  +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
          930  +# be used to specify the file name of the resulting .chm file. You
          931  +# can add a path in front of the file if the result should not be
          932  +# written to the html output directory.
          933  +
          934  +CHM_FILE               =
          935  +
          936  +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
          937  +# be used to specify the location (absolute path including file name) of
          938  +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
          939  +# the HTML help compiler on the generated index.hhp.
          940  +
          941  +HHC_LOCATION           =
          942  +
          943  +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
          944  +# controls if a separate .chi index file is generated (YES) or that
          945  +# it should be included in the master .chm file (NO).
          946  +
          947  +GENERATE_CHI           = NO
          948  +
          949  +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
          950  +# is used to encode HtmlHelp index (hhk), content (hhc) and project file
          951  +# content.
          952  +
          953  +CHM_INDEX_ENCODING     =
          954  +
          955  +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
          956  +# controls whether a binary table of contents is generated (YES) or a
          957  +# normal table of contents (NO) in the .chm file.
          958  +
          959  +BINARY_TOC             = NO
          960  +
          961  +# The TOC_EXPAND flag can be set to YES to add extra items for group members
          962  +# to the contents of the HTML help documentation and to the tree view.
          963  +
          964  +TOC_EXPAND             = NO
          965  +
          966  +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
          967  +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
          968  +# that can be used as input for Qt's qhelpgenerator to generate a
          969  +# Qt Compressed Help (.qch) of the generated HTML documentation.
          970  +
          971  +GENERATE_QHP           = NO
          972  +
          973  +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
          974  +# be used to specify the file name of the resulting .qch file.
          975  +# The path specified is relative to the HTML output folder.
          976  +
          977  +QCH_FILE               =
          978  +
          979  +# The QHP_NAMESPACE tag specifies the namespace to use when generating
          980  +# Qt Help Project output. For more information please see
          981  +# http://doc.trolltech.com/qthelpproject.html#namespace
          982  +
          983  +QHP_NAMESPACE          = org.doxygen.Project
          984  +
          985  +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
          986  +# Qt Help Project output. For more information please see
          987  +# http://doc.trolltech.com/qthelpproject.html#virtual-folders
          988  +
          989  +QHP_VIRTUAL_FOLDER     = doc
          990  +
          991  +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
          992  +# add. For more information please see
          993  +# http://doc.trolltech.com/qthelpproject.html#custom-filters
          994  +
          995  +QHP_CUST_FILTER_NAME   =
          996  +
          997  +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
          998  +# custom filter to add. For more information please see
          999  +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
         1000  +# Qt Help Project / Custom Filters</a>.
         1001  +
         1002  +QHP_CUST_FILTER_ATTRS  =
         1003  +
         1004  +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
         1005  +# project's
         1006  +# filter section matches.
         1007  +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
         1008  +# Qt Help Project / Filter Attributes</a>.
         1009  +
         1010  +QHP_SECT_FILTER_ATTRS  =
         1011  +
         1012  +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
         1013  +# be used to specify the location of Qt's qhelpgenerator.
         1014  +# If non-empty doxygen will try to run qhelpgenerator on the generated
         1015  +# .qhp file.
         1016  +
         1017  +QHG_LOCATION           =
         1018  +
         1019  +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
         1020  +#  will be generated, which together with the HTML files, form an Eclipse help
         1021  +# plugin. To install this plugin and make it available under the help contents
         1022  +# menu in Eclipse, the contents of the directory containing the HTML and XML
         1023  +# files needs to be copied into the plugins directory of eclipse. The name of
         1024  +# the directory within the plugins directory should be the same as
         1025  +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
         1026  +# the help appears.
         1027  +
         1028  +GENERATE_ECLIPSEHELP   = NO
         1029  +
         1030  +# A unique identifier for the eclipse help plugin. When installing the plugin
         1031  +# the directory name containing the HTML and XML files should also have
         1032  +# this name.
         1033  +
         1034  +ECLIPSE_DOC_ID         = org.doxygen.Project
         1035  +
         1036  +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
         1037  +# top of each HTML page. The value NO (the default) enables the index and
         1038  +# the value YES disables it.
         1039  +
         1040  +DISABLE_INDEX          = NO
         1041  +
         1042  +# This tag can be used to set the number of enum values (range [0,1..20])
         1043  +# that doxygen will group on one line in the generated HTML documentation.
         1044  +# Note that a value of 0 will completely suppress the enum values from appearing in the overview section.
         1045  +
         1046  +ENUM_VALUES_PER_LINE   = 4
         1047  +
         1048  +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
         1049  +# structure should be generated to display hierarchical information.
         1050  +# If the tag value is set to YES, a side panel will be generated
         1051  +# containing a tree-like index structure (just like the one that
         1052  +# is generated for HTML Help). For this to work a browser that supports
         1053  +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
         1054  +# Windows users are probably better off using the HTML help feature.
         1055  +
         1056  +GENERATE_TREEVIEW      = NO
         1057  +
         1058  +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
         1059  +# and Class Hierarchy pages using a tree view instead of an ordered list.
         1060  +
         1061  +USE_INLINE_TREES       = NO
         1062  +
         1063  +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
         1064  +# used to set the initial width (in pixels) of the frame in which the tree
         1065  +# is shown.
         1066  +
         1067  +TREEVIEW_WIDTH         = 250
         1068  +
         1069  +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
         1070  +# links to external symbols imported via tag files in a separate window.
         1071  +
         1072  +EXT_LINKS_IN_WINDOW    = NO
         1073  +
         1074  +# Use this tag to change the font size of Latex formulas included
         1075  +# as images in the HTML documentation. The default is 10. Note that
         1076  +# when you change the font size after a successful doxygen run you need
         1077  +# to manually remove any form_*.png images from the HTML output directory
         1078  +# to force them to be regenerated.
         1079  +
         1080  +FORMULA_FONTSIZE       = 10
         1081  +
         1082  +# Use the FORMULA_TRANPARENT tag to determine whether or not the images
         1083  +# generated for formulas are transparent PNGs. Transparent PNGs are
         1084  +# not supported properly for IE 6.0, but are supported on all modern browsers.
         1085  +# Note that when changing this option you need to delete any form_*.png files
         1086  +# in the HTML output before the changes have effect.
         1087  +
         1088  +FORMULA_TRANSPARENT    = YES
         1089  +
         1090  +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
         1091  +# (see http://www.mathjax.org) which uses client side Javascript for the
         1092  +# rendering instead of using prerendered bitmaps. Use this if you do not
         1093  +# have LaTeX installed or if you want to formulas look prettier in the HTML
         1094  +# output. When enabled you also need to install MathJax separately and
         1095  +# configure the path to it using the MATHJAX_RELPATH option.
         1096  +
         1097  +USE_MATHJAX            = NO
         1098  +
         1099  +# When MathJax is enabled you need to specify the location relative to the
         1100  +# HTML output directory using the MATHJAX_RELPATH option. The destination
         1101  +# directory should contain the MathJax.js script. For instance, if the mathjax
         1102  +# directory is located at the same level as the HTML output directory, then
         1103  +# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing
         1104  +# MathJax, but it is strongly recommended to install a local copy of MathJax
         1105  +# before deployment.
         1106  +
         1107  +MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
         1108  +
         1109  +# When the SEARCHENGINE tag is enabled doxygen will generate a search box
         1110  +# for the HTML output. The underlying search engine uses javascript
         1111  +# and DHTML and should work on any modern browser. Note that when using
         1112  +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
         1113  +# (GENERATE_DOCSET) there is already a search function so this one should
         1114  +# typically be disabled. For large projects the javascript based search engine
         1115  +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
         1116  +
         1117  +SEARCHENGINE           = YES
         1118  +
         1119  +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
         1120  +# implemented using a PHP enabled web server instead of at the web client
         1121  +# using Javascript. Doxygen will generate the search PHP script and index
         1122  +# file to put on the web server. The advantage of the server
         1123  +# based approach is that it scales better to large projects and allows
         1124  +# full text search. The disadvantages are that it is more difficult to setup
         1125  +# and does not have live searching capabilities.
         1126  +
         1127  +SERVER_BASED_SEARCH    = NO
         1128  +
         1129  +#---------------------------------------------------------------------------
         1130  +# configuration options related to the LaTeX output
         1131  +#---------------------------------------------------------------------------
         1132  +
         1133  +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
         1134  +# generate Latex output.
         1135  +
         1136  +GENERATE_LATEX         = YES
         1137  +
         1138  +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
         1139  +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
         1140  +# put in front of it. If left blank `latex' will be used as the default path.
         1141  +
         1142  +LATEX_OUTPUT           = latex
         1143  +
         1144  +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
         1145  +# invoked. If left blank `latex' will be used as the default command name.
         1146  +# Note that when enabling USE_PDFLATEX this option is only used for
         1147  +# generating bitmaps for formulas in the HTML output, but not in the
         1148  +# Makefile that is written to the output directory.
         1149  +
         1150  +LATEX_CMD_NAME         = latex
         1151  +
         1152  +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
         1153  +# generate index for LaTeX. If left blank `makeindex' will be used as the
         1154  +# default command name.
         1155  +
         1156  +MAKEINDEX_CMD_NAME     = makeindex
         1157  +
         1158  +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
         1159  +# LaTeX documents. This may be useful for small projects and may help to
         1160  +# save some trees in general.
         1161  +
         1162  +COMPACT_LATEX          = NO
         1163  +
         1164  +# The PAPER_TYPE tag can be used to set the paper type that is used
         1165  +# by the printer. Possible values are: a4, letter, legal and
         1166  +# executive. If left blank a4wide will be used.
         1167  +
         1168  +PAPER_TYPE             = a4
         1169  +
         1170  +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
         1171  +# packages that should be included in the LaTeX output.
         1172  +
         1173  +EXTRA_PACKAGES         =
         1174  +
         1175  +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
         1176  +# the generated latex document. The header should contain everything until
         1177  +# the first chapter. If it is left blank doxygen will generate a
         1178  +# standard header. Notice: only use this tag if you know what you are doing!
         1179  +
         1180  +LATEX_HEADER           =
         1181  +
         1182  +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
         1183  +# is prepared for conversion to pdf (using ps2pdf). The pdf file will
         1184  +# contain links (just like the HTML output) instead of page references
         1185  +# This makes the output suitable for online browsing using a pdf viewer.
         1186  +
         1187  +PDF_HYPERLINKS         = YES
         1188  +
         1189  +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
         1190  +# plain latex in the generated Makefile. Set this option to YES to get a
         1191  +# higher quality PDF documentation.
         1192  +
         1193  +USE_PDFLATEX           = YES
         1194  +
         1195  +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
         1196  +# command to the generated LaTeX files. This will instruct LaTeX to keep
         1197  +# running if errors occur, instead of asking the user for help.
         1198  +# This option is also used when generating formulas in HTML.
         1199  +
         1200  +LATEX_BATCHMODE        = NO
         1201  +
         1202  +# If LATEX_HIDE_INDICES is set to YES then doxygen will not
         1203  +# include the index chapters (such as File Index, Compound Index, etc.)
         1204  +# in the output.
         1205  +
         1206  +LATEX_HIDE_INDICES     = NO
         1207  +
         1208  +# If LATEX_SOURCE_CODE is set to YES then doxygen will include
         1209  +# source code with syntax highlighting in the LaTeX output.
         1210  +# Note that which sources are shown also depends on other settings
         1211  +# such as SOURCE_BROWSER.
         1212  +
         1213  +LATEX_SOURCE_CODE      = NO
         1214  +
         1215  +#---------------------------------------------------------------------------
         1216  +# configuration options related to the RTF output
         1217  +#---------------------------------------------------------------------------
         1218  +
         1219  +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
         1220  +# The RTF output is optimized for Word 97 and may not look very pretty with
         1221  +# other RTF readers or editors.
         1222  +
         1223  +GENERATE_RTF           = NO
         1224  +
         1225  +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
         1226  +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
         1227  +# put in front of it. If left blank `rtf' will be used as the default path.
         1228  +
         1229  +RTF_OUTPUT             = rtf
         1230  +
         1231  +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
         1232  +# RTF documents. This may be useful for small projects and may help to
         1233  +# save some trees in general.
         1234  +
         1235  +COMPACT_RTF            = NO
         1236  +
         1237  +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
         1238  +# will contain hyperlink fields. The RTF file will
         1239  +# contain links (just like the HTML output) instead of page references.
         1240  +# This makes the output suitable for online browsing using WORD or other
         1241  +# programs which support those fields.
         1242  +# Note: wordpad (write) and others do not support links.
         1243  +
         1244  +RTF_HYPERLINKS         = NO
         1245  +
         1246  +# Load stylesheet definitions from file. Syntax is similar to doxygen's
         1247  +# config file, i.e. a series of assignments. You only have to provide
         1248  +# replacements, missing definitions are set to their default value.
         1249  +
         1250  +RTF_STYLESHEET_FILE    =
         1251  +
         1252  +# Set optional variables used in the generation of an rtf document.
         1253  +# Syntax is similar to doxygen's config file.
         1254  +
         1255  +RTF_EXTENSIONS_FILE    =
         1256  +
         1257  +#---------------------------------------------------------------------------
         1258  +# configuration options related to the man page output
         1259  +#---------------------------------------------------------------------------
         1260  +
         1261  +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
         1262  +# generate man pages
         1263  +
         1264  +GENERATE_MAN           = NO
         1265  +
         1266  +# The MAN_OUTPUT tag is used to specify where the man pages will be put.
         1267  +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
         1268  +# put in front of it. If left blank `man' will be used as the default path.
         1269  +
         1270  +MAN_OUTPUT             = man
         1271  +
         1272  +# The MAN_EXTENSION tag determines the extension that is added to
         1273  +# the generated man pages (default is the subroutine's section .3)
         1274  +
         1275  +MAN_EXTENSION          = .3
         1276  +
         1277  +# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
         1278  +# then it will generate one additional man file for each entity
         1279  +# documented in the real man page(s). These additional files
         1280  +# only source the real man page, but without them the man command
         1281  +# would be unable to find the correct page. The default is NO.
         1282  +
         1283  +MAN_LINKS              = NO
         1284  +
         1285  +#---------------------------------------------------------------------------
         1286  +# configuration options related to the XML output
         1287  +#---------------------------------------------------------------------------
         1288  +
         1289  +# If the GENERATE_XML tag is set to YES Doxygen will
         1290  +# generate an XML file that captures the structure of
         1291  +# the code including all documentation.
         1292  +
         1293  +GENERATE_XML           = NO
         1294  +
         1295  +# The XML_OUTPUT tag is used to specify where the XML pages will be put.
         1296  +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
         1297  +# put in front of it. If left blank `xml' will be used as the default path.
         1298  +
         1299  +XML_OUTPUT             = xml
         1300  +
         1301  +# The XML_SCHEMA tag can be used to specify an XML schema,
         1302  +# which can be used by a validating XML parser to check the
         1303  +# syntax of the XML files.
         1304  +
         1305  +XML_SCHEMA             =
         1306  +
         1307  +# The XML_DTD tag can be used to specify an XML DTD,
         1308  +# which can be used by a validating XML parser to check the
         1309  +# syntax of the XML files.
         1310  +
         1311  +XML_DTD                =
         1312  +
         1313  +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
         1314  +# dump the program listings (including syntax highlighting
         1315  +# and cross-referencing information) to the XML output. Note that
         1316  +# enabling this will significantly increase the size of the XML output.
         1317  +
         1318  +XML_PROGRAMLISTING     = YES
         1319  +
         1320  +#---------------------------------------------------------------------------
         1321  +# configuration options for the AutoGen Definitions output
         1322  +#---------------------------------------------------------------------------
         1323  +
         1324  +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
         1325  +# generate an AutoGen Definitions (see autogen.sf.net) file
         1326  +# that captures the structure of the code including all
         1327  +# documentation. Note that this feature is still experimental
         1328  +# and incomplete at the moment.
         1329  +
         1330  +GENERATE_AUTOGEN_DEF   = NO
         1331  +
         1332  +#---------------------------------------------------------------------------
         1333  +# configuration options related to the Perl module output
         1334  +#---------------------------------------------------------------------------
         1335  +
         1336  +# If the GENERATE_PERLMOD tag is set to YES Doxygen will
         1337  +# generate a Perl module file that captures the structure of
         1338  +# the code including all documentation. Note that this
         1339  +# feature is still experimental and incomplete at the
         1340  +# moment.
         1341  +
         1342  +GENERATE_PERLMOD       = NO
         1343  +
         1344  +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
         1345  +# the necessary Makefile rules, Perl scripts and LaTeX code to be able
         1346  +# to generate PDF and DVI output from the Perl module output.
         1347  +
         1348  +PERLMOD_LATEX          = NO
         1349  +
         1350  +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
         1351  +# nicely formatted so it can be parsed by a human reader.
         1352  +# This is useful
         1353  +# if you want to understand what is going on.
         1354  +# On the other hand, if this
         1355  +# tag is set to NO the size of the Perl module output will be much smaller
         1356  +# and Perl will parse it just the same.
         1357  +
         1358  +PERLMOD_PRETTY         = YES
         1359  +
         1360  +# The names of the make variables in the generated doxyrules.make file
         1361  +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
         1362  +# This is useful so different doxyrules.make files included by the same
         1363  +# Makefile don't overwrite each other's variables.
         1364  +
         1365  +PERLMOD_MAKEVAR_PREFIX =
         1366  +
         1367  +#---------------------------------------------------------------------------
         1368  +# Configuration options related to the preprocessor
         1369  +#---------------------------------------------------------------------------
         1370  +
         1371  +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
         1372  +# evaluate all C-preprocessor directives found in the sources and include
         1373  +# files.
         1374  +
         1375  +ENABLE_PREPROCESSING   = YES
         1376  +
         1377  +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
         1378  +# names in the source code. If set to NO (the default) only conditional
         1379  +# compilation will be performed. Macro expansion can be done in a controlled
         1380  +# way by setting EXPAND_ONLY_PREDEF to YES.
         1381  +
         1382  +MACRO_EXPANSION        = NO
         1383  +
         1384  +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
         1385  +# then the macro expansion is limited to the macros specified with the
         1386  +# PREDEFINED and EXPAND_AS_DEFINED tags.
         1387  +
         1388  +EXPAND_ONLY_PREDEF     = NO
         1389  +
         1390  +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
         1391  +# in the INCLUDE_PATH (see below) will be search if a #include is found.
         1392  +
         1393  +SEARCH_INCLUDES        = YES
         1394  +
         1395  +# The INCLUDE_PATH tag can be used to specify one or more directories that
         1396  +# contain include files that are not input files but should be processed by
         1397  +# the preprocessor.
         1398  +
         1399  +INCLUDE_PATH           =
         1400  +
         1401  +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
         1402  +# patterns (like *.h and *.hpp) to filter out the header-files in the
         1403  +# directories. If left blank, the patterns specified with FILE_PATTERNS will
         1404  +# be used.
         1405  +
         1406  +INCLUDE_FILE_PATTERNS  =
         1407  +
         1408  +# The PREDEFINED tag can be used to specify one or more macro names that
         1409  +# are defined before the preprocessor is started (similar to the -D option of
         1410  +# gcc). The argument of the tag is a list of macros of the form: name
         1411  +# or name=definition (no spaces). If the definition and the = are
         1412  +# omitted =1 is assumed. To prevent a macro definition from being
         1413  +# undefined via #undef or recursively expanded use the := operator
         1414  +# instead of the = operator.
         1415  +
         1416  +PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS
         1417  +
         1418  +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
         1419  +# this tag can be used to specify a list of macro names that should be expanded.
         1420  +# The macro definition that is found in the sources will be used.
         1421  +# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code.
         1422  +
         1423  +EXPAND_AS_DEFINED      =
         1424  +
         1425  +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
         1426  +# doxygen's preprocessor will remove all references to function-like macros
         1427  +# that are alone on a line, have an all uppercase name, and do not end with a
         1428  +# semicolon, because these will confuse the parser if not removed.
         1429  +
         1430  +SKIP_FUNCTION_MACROS   = YES
         1431  +
         1432  +#---------------------------------------------------------------------------
         1433  +# Configuration::additions related to external references
         1434  +#---------------------------------------------------------------------------
         1435  +
         1436  +# The TAGFILES option can be used to specify one or more tagfiles.
         1437  +# Optionally an initial location of the external documentation
         1438  +# can be added for each tagfile. The format of a tag file without
         1439  +# this location is as follows:
         1440  +#
         1441  +# TAGFILES = file1 file2 ...
         1442  +# Adding location for the tag files is done as follows:
         1443  +#
         1444  +# TAGFILES = file1=loc1 "file2 = loc2" ...
         1445  +# where "loc1" and "loc2" can be relative or absolute paths or
         1446  +# URLs. If a location is present for each tag, the installdox tool
         1447  +# does not have to be run to correct the links.
         1448  +# Note that each tag file must have a unique name
         1449  +# (where the name does NOT include the path)
         1450  +# If a tag file is not located in the directory in which doxygen
         1451  +# is run, you must also specify the path to the tagfile here.
         1452  +
         1453  +TAGFILES               =
         1454  +
         1455  +# When a file name is specified after GENERATE_TAGFILE, doxygen will create
         1456  +# a tag file that is based on the input files it reads.
         1457  +
         1458  +GENERATE_TAGFILE       =
         1459  +
         1460  +# If the ALLEXTERNALS tag is set to YES all external classes will be listed
         1461  +# in the class index. If set to NO only the inherited external classes
         1462  +# will be listed.
         1463  +
         1464  +ALLEXTERNALS           = NO
         1465  +
         1466  +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
         1467  +# in the modules index. If set to NO, only the current project's groups will
         1468  +# be listed.
         1469  +
         1470  +EXTERNAL_GROUPS        = YES
         1471  +
         1472  +# The PERL_PATH should be the absolute path and name of the perl script
         1473  +# interpreter (i.e. the result of `which perl').
         1474  +
         1475  +PERL_PATH              = /usr/bin/perl
         1476  +
         1477  +#---------------------------------------------------------------------------
         1478  +# Configuration options related to the dot tool
         1479  +#---------------------------------------------------------------------------
         1480  +
         1481  +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
         1482  +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
         1483  +# or super classes. Setting the tag to NO turns the diagrams off. Note that
         1484  +# this option also works with HAVE_DOT disabled, but it is recommended to
         1485  +# install and use dot, since it yields more powerful graphs.
         1486  +
         1487  +CLASS_DIAGRAMS         = YES
         1488  +
         1489  +# You can define message sequence charts within doxygen comments using the \msc
         1490  +# command. Doxygen will then run the mscgen tool (see
         1491  +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
         1492  +# documentation. The MSCGEN_PATH tag allows you to specify the directory where
         1493  +# the mscgen tool resides. If left empty the tool is assumed to be found in the
         1494  +# default search path.
         1495  +
         1496  +MSCGEN_PATH            =
         1497  +
         1498  +# If set to YES, the inheritance and collaboration graphs will hide
         1499  +# inheritance and usage relations if the target is undocumented
         1500  +# or is not a class.
         1501  +
         1502  +HIDE_UNDOC_RELATIONS   = YES
         1503  +
         1504  +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
         1505  +# available from the path. This tool is part of Graphviz, a graph visualization
         1506  +# toolkit from AT&T and Lucent Bell Labs. The other options in this section
         1507  +# have no effect if this option is set to NO (the default)
         1508  +
         1509  +HAVE_DOT               = YES
         1510  +
         1511  +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
         1512  +# allowed to run in parallel. When set to 0 (the default) doxygen will
         1513  +# base this on the number of processors available in the system. You can set it
         1514  +# explicitly to a value larger than 0 to get control over the balance
         1515  +# between CPU load and processing speed.
         1516  +
         1517  +DOT_NUM_THREADS        = 0
         1518  +
         1519  +# By default doxygen will write a font called Helvetica to the output
         1520  +# directory and reference it in all dot files that doxygen generates.
         1521  +# When you want a differently looking font you can specify the font name
         1522  +# using DOT_FONTNAME. You need to make sure dot is able to find the font,
         1523  +# which can be done by putting it in a standard location or by setting the
         1524  +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
         1525  +# containing the font.
         1526  +
         1527  +DOT_FONTNAME           = Helvetica
         1528  +
         1529  +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
         1530  +# The default size is 10pt.
         1531  +
         1532  +DOT_FONTSIZE           = 10
         1533  +
         1534  +# By default doxygen will tell dot to use the output directory to look for the
         1535  +# FreeSans.ttf font (which doxygen will put there itself). If you specify a
         1536  +# different font using DOT_FONTNAME you can set the path where dot
         1537  +# can find it using this tag.
         1538  +
         1539  +DOT_FONTPATH           =
         1540  +
         1541  +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
         1542  +# will generate a graph for each documented class showing the direct and
         1543  +# indirect inheritance relations. Setting this tag to YES will force the
         1544  +# the CLASS_DIAGRAMS tag to NO.
         1545  +
         1546  +CLASS_GRAPH            = YES
         1547  +
         1548  +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
         1549  +# will generate a graph for each documented class showing the direct and
         1550  +# indirect implementation dependencies (inheritance, containment, and
         1551  +# class references variables) of the class with other documented classes.
         1552  +
         1553  +COLLABORATION_GRAPH    = YES
         1554  +
         1555  +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
         1556  +# will generate a graph for groups, showing the direct groups dependencies
         1557  +
         1558  +GROUP_GRAPHS           = YES
         1559  +
         1560  +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
         1561  +# collaboration diagrams in a style similar to the OMG's Unified Modeling
         1562  +# Language.
         1563  +
         1564  +UML_LOOK               = NO
         1565  +
         1566  +# If set to YES, the inheritance and collaboration graphs will show the
         1567  +# relations between templates and their instances.
         1568  +
         1569  +TEMPLATE_RELATIONS     = NO
         1570  +
         1571  +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
         1572  +# tags are set to YES then doxygen will generate a graph for each documented
         1573  +# file showing the direct and indirect include dependencies of the file with
         1574  +# other documented files.
         1575  +
         1576  +INCLUDE_GRAPH          = YES
         1577  +
         1578  +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
         1579  +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
         1580  +# documented header file showing the documented files that directly or
         1581  +# indirectly include this file.
         1582  +
         1583  +INCLUDED_BY_GRAPH      = YES
         1584  +
         1585  +# If the CALL_GRAPH and HAVE_DOT options are set to YES then
         1586  +# doxygen will generate a call dependency graph for every global function
         1587  +# or class method. Note that enabling this option will significantly increase
         1588  +# the time of a run. So in most cases it will be better to enable call graphs
         1589  +# for selected functions only using the \callgraph command.
         1590  +
         1591  +CALL_GRAPH             = NO
         1592  +
         1593  +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
         1594  +# doxygen will generate a caller dependency graph for every global function
         1595  +# or class method. Note that enabling this option will significantly increase
         1596  +# the time of a run. So in most cases it will be better to enable caller
         1597  +# graphs for selected functions only using the \callergraph command.
         1598  +
         1599  +CALLER_GRAPH           = NO
         1600  +
         1601  +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
         1602  +# will generate a graphical hierarchy of all classes instead of a textual one.
         1603  +
         1604  +GRAPHICAL_HIERARCHY    = YES
         1605  +
         1606  +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
         1607  +# then doxygen will show the dependencies a directory has on other directories
         1608  +# in a graphical way. The dependency relations are determined by the #include
         1609  +# relations between the files in the directories.
         1610  +
         1611  +DIRECTORY_GRAPH        = YES
         1612  +
         1613  +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
         1614  +# generated by dot. Possible values are png, svg, gif or svg.
         1615  +# If left blank png will be used.
         1616  +
         1617  +DOT_IMAGE_FORMAT       = png
         1618  +
         1619  +# The tag DOT_PATH can be used to specify the path where the dot tool can be
         1620  +# found. If left blank, it is assumed the dot tool can be found in the path.
         1621  +
         1622  +DOT_PATH               =
         1623  +
         1624  +# The DOTFILE_DIRS tag can be used to specify one or more directories that
         1625  +# contain dot files that are included in the documentation (see the
         1626  +# \dotfile command).
         1627  +
         1628  +DOTFILE_DIRS           =
         1629  +
         1630  +# The MSCFILE_DIRS tag can be used to specify one or more directories that
         1631  +# contain msc files that are included in the documentation (see the
         1632  +# \mscfile command).
         1633  +
         1634  +MSCFILE_DIRS           =
         1635  +
         1636  +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
         1637  +# nodes that will be shown in the graph. If the number of nodes in a graph
         1638  +# becomes larger than this value, doxygen will truncate the graph, which is
         1639  +# visualized by representing a node as a red box. Note that doxygen if the
         1640  +# number of direct children of the root node in a graph is already larger than
         1641  +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
         1642  +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
         1643  +
         1644  +DOT_GRAPH_MAX_NODES    = 50
         1645  +
         1646  +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
         1647  +# graphs generated by dot. A depth value of 3 means that only nodes reachable
         1648  +# from the root by following a path via at most 3 edges will be shown. Nodes
         1649  +# that lay further from the root node will be omitted. Note that setting this
         1650  +# option to 1 or 2 may greatly reduce the computation time needed for large
         1651  +# code bases. Also note that the size of a graph can be further restricted by
         1652  +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
         1653  +
         1654  +MAX_DOT_GRAPH_DEPTH    = 0
         1655  +
         1656  +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
         1657  +# background. This is disabled by default, because dot on Windows does not
         1658  +# seem to support this out of the box. Warning: Depending on the platform used,
         1659  +# enabling this option may lead to badly anti-aliased labels on the edges of
         1660  +# a graph (i.e. they become hard to read).
         1661  +
         1662  +DOT_TRANSPARENT        = NO
         1663  +
         1664  +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
         1665  +# files in one run (i.e. multiple -o and -T options on the command line). This
         1666  +# makes dot run faster, but since only newer versions of dot (>1.8.10)
         1667  +# support this, this feature is disabled by default.
         1668  +
         1669  +DOT_MULTI_TARGETS      = YES
         1670  +
         1671  +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
         1672  +# generate a legend page explaining the meaning of the various boxes and
         1673  +# arrows in the dot generated graphs.
         1674  +
         1675  +GENERATE_LEGEND        = YES
         1676  +
         1677  +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
         1678  +# remove the intermediate dot files that are used to generate
         1679  +# the various graphs.
         1680  +
         1681  +DOT_CLEANUP            = YES

Added INSTALL.

            1  +Basic Installation
            2  +==================
            3  +
            4  +   These are generic installation instructions.
            5  +
            6  +   The `configure' shell script attempts to guess correct values for
            7  +various system-dependent variables used during compilation.  It uses
            8  +those values to create a `Makefile' in each directory of the package.
            9  +It may also create one or more `.h' files containing system-dependent
           10  +definitions.  Finally, it creates a shell script `config.status' that
           11  +you can run in the future to recreate the current configuration, a file
           12  +`config.cache' that saves the results of its tests to speed up
           13  +reconfiguring, and a file `config.log' containing compiler output
           14  +(useful mainly for debugging `configure').
           15  +
           16  +   If you need to do unusual things to compile the package, please try
           17  +to figure out how `configure' could check whether to do them, and mail
           18  +diffs or instructions to the address given in the `README' so they can
           19  +be considered for the next release.  If at some point `config.cache'
           20  +contains results you don't want to keep, you may remove or edit it.
           21  +
           22  +   The file `configure.in' is used to create `configure' by a program
           23  +called `autoconf'.  You only need `configure.in' if you want to change
           24  +it or regenerate `configure' using a newer version of `autoconf'.
           25  +
           26  +The simplest way to compile this package is:
           27  +
           28  +  1. `cd' to the directory containing the package's source code and type
           29  +     `./configure' to configure the package for your system.  If you're
           30  +     using `csh' on an old version of System V, you might need to type
           31  +     `sh ./configure' instead to prevent `csh' from trying to execute
           32  +     `configure' itself.
           33  +
           34  +     Running `configure' takes awhile.  While running, it prints some
           35  +     messages telling which features it is checking for.
           36  +
           37  +  2. Type `make' to compile the package.
           38  +
           39  +  3. Optionally, type `make check' to run any self-tests that come with
           40  +     the package.
           41  +
           42  +  4. Type `make install' to install the programs and any data files and
           43  +     documentation.
           44  +
           45  +  5. You can remove the program binaries and object files from the
           46  +     source code directory by typing `make clean'.  To also remove the
           47  +     files that `configure' created (so you can compile the package for
           48  +     a different kind of computer), type `make distclean'.  There is
           49  +     also a `make maintainer-clean' target, but that is intended mainly
           50  +     for the package's developers.  If you use it, you may have to get
           51  +     all sorts of other programs in order to regenerate files that came
           52  +     with the distribution.
           53  +
           54  +Compilers and Options
           55  +=====================
           56  +
           57  +   Some systems require unusual options for compilation or linking that
           58  +the `configure' script does not know about.  You can give `configure'
           59  +initial values for variables by setting them in the environment.  Using
           60  +a Bourne-compatible shell, you can do that on the command line like
           61  +this:
           62  +     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
           63  +
           64  +Or on systems that have the `env' program, you can do it like this:
           65  +     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
           66  +
           67  +Compiling For Multiple Architectures
           68  +====================================
           69  +
           70  +   You can compile the package for more than one kind of computer at the
           71  +same time, by placing the object files for each architecture in their
           72  +own directory.  To do this, you must use a version of `make' that
           73  +supports the `VPATH' variable, such as GNU `make'.  `cd' to the
           74  +directory where you want the object files and executables to go and run
           75  +the `configure' script.  `configure' automatically checks for the
           76  +source code in the directory that `configure' is in and in `..'.
           77  +
           78  +   If you have to use a `make' that does not supports the `VPATH'
           79  +variable, you have to compile the package for one architecture at a time
           80  +in the source code directory.  After you have installed the package for
           81  +one architecture, use `make distclean' before reconfiguring for another
           82  +architecture.
           83  +
           84  +Installation Names
           85  +==================
           86  +
           87  +   By default, `make install' will install the package's files in
           88  +`/usr/local/bin', `/usr/local/man', etc.  You can specify an
           89  +installation prefix other than `/usr/local' by giving `configure' the
           90  +option `--prefix=PATH'.
           91  +
           92  +   You can specify separate installation prefixes for
           93  +architecture-specific files and architecture-independent files.  If you
           94  +give `configure' the option `--exec-prefix=PATH', the package will use
           95  +PATH as the prefix for installing programs and libraries.
           96  +Documentation and other data files will still use the regular prefix.
           97  +
           98  +   In addition, if you use an unusual directory layout you can give
           99  +options like `--bindir=PATH' to specify different values for particular
          100  +kinds of files.  Run `configure --help' for a list of the directories
          101  +you can set and what kinds of files go in them.
          102  +
          103  +   If the package supports it, you can cause programs to be installed
          104  +with an extra prefix or suffix on their names by giving `configure' the
          105  +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
          106  +
          107  +Optional Features
          108  +=================
          109  +
          110  +   Some packages pay attention to `--enable-FEATURE' options to
          111  +`configure', where FEATURE indicates an optional part of the package.
          112  +They may also pay attention to `--with-PACKAGE' options, where PACKAGE
          113  +is something like `gnu-as' or `x' (for the X Window System).  The
          114  +`README' should mention any `--enable-' and `--with-' options that the
          115  +package recognizes.
          116  +
          117  +   For packages that use the X Window System, `configure' can usually
          118  +find the X include and library files automatically, but if it doesn't,
          119  +you can use the `configure' options `--x-includes=DIR' and
          120  +`--x-libraries=DIR' to specify their locations.
          121  +
          122  +Specifying the System Type
          123  +==========================
          124  +
          125  +   There may be some features `configure' can not figure out
          126  +automatically, but needs to determine by the type of host the package
          127  +will run on.  Usually `configure' can figure that out, but if it prints
          128  +a message saying it can not guess the host type, give it the
          129  +`--host=TYPE' option.  TYPE can either be a short name for the system
          130  +type, such as `sun4', or a canonical name with three fields:
          131  +     CPU-COMPANY-SYSTEM
          132  +
          133  +See the file `config.sub' for the possible values of each field.  If
          134  +`config.sub' isn't included in this package, then this package doesn't
          135  +need to know the host type.
          136  +
          137  +   If you are building compiler tools for cross-compiling, you can also
          138  +use the `--target=TYPE' option to select the type of system they will
          139  +produce code for and the `--build=TYPE' option to select the type of
          140  +system on which you are compiling the package.
          141  +
          142  +Sharing Defaults
          143  +================
          144  +
          145  +   If you want to set default values for `configure' scripts to share,
          146  +you can create a site shell script called `config.site' that gives
          147  +default values for variables like `CC', `cache_file', and `prefix'.
          148  +`configure' looks for `PREFIX/share/config.site' if it exists, then
          149  +`PREFIX/etc/config.site' if it exists.  Or, you can set the
          150  +`CONFIG_SITE' environment variable to the location of the site script.
          151  +A warning: not all `configure' scripts look for a site script.
          152  +
          153  +Operation Controls
          154  +==================
          155  +
          156  +   `configure' recognizes the following options to control how it
          157  +operates.
          158  +
          159  +`--cache-file=FILE'
          160  +     Use and save the results of the tests in FILE instead of
          161  +     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
          162  +     debugging `configure'.
          163  +
          164  +`--help'
          165  +     Print a summary of the options to `configure', and exit.
          166  +
          167  +`--quiet'
          168  +`--silent'
          169  +`-q'
          170  +     Do not print messages saying which checks are being made.  To
          171  +     suppress all normal output, redirect it to `/dev/null' (any error
          172  +     messages will still be shown).
          173  +
          174  +`--srcdir=DIR'
          175  +     Look for the package's source code in directory DIR.  Usually
          176  +     `configure' can determine that directory automatically.
          177  +
          178  +`--version'
          179  +     Print the version of Autoconf used to generate the `configure'
          180  +     script, and exit.
          181  +
          182  +`configure' also accepts some other, not widely useful, options.
          183  +

Added Makefile.am.

            1  +ACLOCAL_AMFLAGS = -I m4
            2  +
            3  +SUBDIRS = headers src tests examples
            4  +
            5  +EXTRA_DIST = makefile.vc nmake.opt mainpage.doxy
            6  +
            7  +AUTOMAKE_OPTIONS = dist-zip
            8  +
            9  +pkgconfigdir = $(libdir)/pkgconfig
           10  +pkgconfig_DATA = readosm.pc
           11  +
           12  +coverage-init:
           13  +	lcov --directory src --capture --initial --output-file readosm_cov.info
           14  +
           15  +coverage::
           16  +	lcov --rc lcov_branch_coverage=1 --directory src --output-file readosm_cov.info --capture
           17  +	genhtml --rc lcov_branch_coverage=1 -o covresults readosm_cov.info
           18  +
           19  +MOSTLYCLEANFILES = readosm_cov.info 

Added Makefile.in.

            1  +# Makefile.in generated by automake 1.14.1 from Makefile.am.
            2  +# @configure_input@
            3  +
            4  +# Copyright (C) 1994-2013 Free Software Foundation, Inc.
            5  +
            6  +# This Makefile.in is free software; the Free Software Foundation
            7  +# gives unlimited permission to copy and/or distribute it,
            8  +# with or without modifications, as long as this notice is preserved.
            9  +
           10  +# This program is distributed in the hope that it will be useful,
           11  +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
           12  +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
           13  +# PARTICULAR PURPOSE.
           14  +
           15  +@SET_MAKE@
           16  +
           17  +VPATH = @srcdir@
           18  +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
           19  +am__make_running_with_option = \
           20  +  case $${target_option-} in \
           21  +      ?) ;; \
           22  +      *) echo "am__make_running_with_option: internal error: invalid" \
           23  +              "target option '$${target_option-}' specified" >&2; \
           24  +         exit 1;; \
           25  +  esac; \
           26  +  has_opt=no; \
           27  +  sane_makeflags=$$MAKEFLAGS; \
           28  +  if $(am__is_gnu_make); then \
           29  +    sane_makeflags=$$MFLAGS; \
           30  +  else \
           31  +    case $$MAKEFLAGS in \
           32  +      *\\[\ \	]*) \
           33  +        bs=\\; \
           34  +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
           35  +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
           36  +    esac; \
           37  +  fi; \
           38  +  skip_next=no; \
           39  +  strip_trailopt () \
           40  +  { \
           41  +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
           42  +  }; \
           43  +  for flg in $$sane_makeflags; do \
           44  +    test $$skip_next = yes && { skip_next=no; continue; }; \
           45  +    case $$flg in \
           46  +      *=*|--*) continue;; \
           47  +        -*I) strip_trailopt 'I'; skip_next=yes;; \
           48  +      -*I?*) strip_trailopt 'I';; \
           49  +        -*O) strip_trailopt 'O'; skip_next=yes;; \
           50  +      -*O?*) strip_trailopt 'O';; \
           51  +        -*l) strip_trailopt 'l'; skip_next=yes;; \
           52  +      -*l?*) strip_trailopt 'l';; \
           53  +      -[dEDm]) skip_next=yes;; \
           54  +      -[JT]) skip_next=yes;; \
           55  +    esac; \
           56  +    case $$flg in \
           57  +      *$$target_option*) has_opt=yes; break;; \
           58  +    esac; \
           59  +  done; \
           60  +  test $$has_opt = yes
           61  +am__make_dryrun = (target_option=n; $(am__make_running_with_option))
           62  +am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
           63  +pkgdatadir = $(datadir)/@PACKAGE@
           64  +pkgincludedir = $(includedir)/@PACKAGE@
           65  +pkglibdir = $(libdir)/@PACKAGE@
           66  +pkglibexecdir = $(libexecdir)/@PACKAGE@
           67  +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
           68  +install_sh_DATA = $(install_sh) -c -m 644
           69  +install_sh_PROGRAM = $(install_sh) -c
           70  +install_sh_SCRIPT = $(install_sh) -c
           71  +INSTALL_HEADER = $(INSTALL_DATA)
           72  +transform = $(program_transform_name)
           73  +NORMAL_INSTALL = :
           74  +PRE_INSTALL = :
           75  +POST_INSTALL = :
           76  +NORMAL_UNINSTALL = :
           77  +PRE_UNINSTALL = :
           78  +POST_UNINSTALL = :
           79  +build_triplet = @build@
           80  +host_triplet = @host@
           81  +subdir = .
           82  +DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
           83  +	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
           84  +	$(top_srcdir)/configure $(am__configure_deps) \
           85  +	$(srcdir)/config.h.in $(srcdir)/Doxyfile.in \
           86  +	$(srcdir)/readosm.pc.in COPYING compile config.guess \
           87  +	config.sub depcomp install-sh missing ltmain.sh
           88  +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
           89  +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
           90  +	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
           91  +	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
           92  +	$(top_srcdir)/configure.ac
           93  +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
           94  +	$(ACLOCAL_M4)
           95  +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
           96  + configure.lineno config.status.lineno
           97  +mkinstalldirs = $(install_sh) -d
           98  +CONFIG_HEADER = config.h
           99  +CONFIG_CLEAN_FILES = Doxyfile readosm.pc
          100  +CONFIG_CLEAN_VPATH_FILES =
          101  +AM_V_P = $(am__v_P_@AM_V@)
          102  +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
          103  +am__v_P_0 = false
          104  +am__v_P_1 = :
          105  +AM_V_GEN = $(am__v_GEN_@AM_V@)
          106  +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
          107  +am__v_GEN_0 = @echo "  GEN     " $@;
          108  +am__v_GEN_1 = 
          109  +AM_V_at = $(am__v_at_@AM_V@)
          110  +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
          111  +am__v_at_0 = @
          112  +am__v_at_1 = 
          113  +SOURCES =
          114  +DIST_SOURCES =
          115  +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
          116  +	ctags-recursive dvi-recursive html-recursive info-recursive \
          117  +	install-data-recursive install-dvi-recursive \
          118  +	install-exec-recursive install-html-recursive \
          119  +	install-info-recursive install-pdf-recursive \
          120  +	install-ps-recursive install-recursive installcheck-recursive \
          121  +	installdirs-recursive pdf-recursive ps-recursive \
          122  +	tags-recursive uninstall-recursive
          123  +am__can_run_installinfo = \
          124  +  case $$AM_UPDATE_INFO_DIR in \
          125  +    n|no|NO) false;; \
          126  +    *) (install-info --version) >/dev/null 2>&1;; \
          127  +  esac
          128  +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
          129  +am__vpath_adj = case $$p in \
          130  +    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          131  +    *) f=$$p;; \
          132  +  esac;
          133  +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
          134  +am__install_max = 40
          135  +am__nobase_strip_setup = \
          136  +  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
          137  +am__nobase_strip = \
          138  +  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
          139  +am__nobase_list = $(am__nobase_strip_setup); \
          140  +  for p in $$list; do echo "$$p $$p"; done | \
          141  +  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
          142  +  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          143  +    if (++n[$$2] == $(am__install_max)) \
          144  +      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          145  +    END { for (dir in files) print dir, files[dir] }'
          146  +am__base_list = \
          147  +  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
          148  +  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
          149  +am__uninstall_files_from_dir = { \
          150  +  test -z "$$files" \
          151  +    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          152  +    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
          153  +         $(am__cd) "$$dir" && rm -f $$files; }; \
          154  +  }
          155  +am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
          156  +DATA = $(pkgconfig_DATA)
          157  +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
          158  +  distclean-recursive maintainer-clean-recursive
          159  +am__recursive_targets = \
          160  +  $(RECURSIVE_TARGETS) \
          161  +  $(RECURSIVE_CLEAN_TARGETS) \
          162  +  $(am__extra_recursive_targets)
          163  +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
          164  +	cscope distdir dist dist-all distcheck
          165  +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
          166  +	$(LISP)config.h.in
          167  +# Read a list of newline-separated strings from the standard input,
          168  +# and print each of them once, without duplicates.  Input order is
          169  +# *not* preserved.
          170  +am__uniquify_input = $(AWK) '\
          171  +  BEGIN { nonempty = 0; } \
          172  +  { items[$$0] = 1; nonempty = 1; } \
          173  +  END { if (nonempty) { for (i in items) print i; }; } \
          174  +'
          175  +# Make sure the list of sources is unique.  This is necessary because,
          176  +# e.g., the same source file might be shared among _SOURCES variables
          177  +# for different programs/libraries.
          178  +am__define_uniq_tagged_files = \
          179  +  list='$(am__tagged_files)'; \
          180  +  unique=`for i in $$list; do \
          181  +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          182  +  done | $(am__uniquify_input)`
          183  +ETAGS = etags
          184  +CTAGS = ctags
          185  +CSCOPE = cscope
          186  +DIST_SUBDIRS = $(SUBDIRS)
          187  +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
          188  +distdir = $(PACKAGE)-$(VERSION)
          189  +top_distdir = $(distdir)
          190  +am__remove_distdir = \
          191  +  if test -d "$(distdir)"; then \
          192  +    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
          193  +      && rm -rf "$(distdir)" \
          194  +      || { sleep 5 && rm -rf "$(distdir)"; }; \
          195  +  else :; fi
          196  +am__post_remove_distdir = $(am__remove_distdir)
          197  +am__relativize = \
          198  +  dir0=`pwd`; \
          199  +  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
          200  +  sed_rest='s,^[^/]*/*,,'; \
          201  +  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
          202  +  sed_butlast='s,/*[^/]*$$,,'; \
          203  +  while test -n "$$dir1"; do \
          204  +    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
          205  +    if test "$$first" != "."; then \
          206  +      if test "$$first" = ".."; then \
          207  +        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
          208  +        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
          209  +      else \
          210  +        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
          211  +        if test "$$first2" = "$$first"; then \
          212  +          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
          213  +        else \
          214  +          dir2="../$$dir2"; \
          215  +        fi; \
          216  +        dir0="$$dir0"/"$$first"; \
          217  +      fi; \
          218  +    fi; \
          219  +    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
          220  +  done; \
          221  +  reldir="$$dir2"
          222  +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip
          223  +GZIP_ENV = --best
          224  +DIST_TARGETS = dist-gzip dist-zip
          225  +distuninstallcheck_listfiles = find . -type f -print
          226  +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
          227  +  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
          228  +distcleancheck_listfiles = find . -type f -print
          229  +ACLOCAL = @ACLOCAL@
          230  +AMTAR = @AMTAR@
          231  +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
          232  +AR = @AR@
          233  +AS = @AS@
          234  +AUTOCONF = @AUTOCONF@
          235  +AUTOHEADER = @AUTOHEADER@
          236  +AUTOMAKE = @AUTOMAKE@
          237  +AWK = @AWK@
          238  +CC = @CC@
          239  +CCDEPMODE = @CCDEPMODE@
          240  +CFLAGS = @CFLAGS@
          241  +CPP = @CPP@
          242  +CPPFLAGS = @CPPFLAGS@
          243  +CXX = @CXX@
          244  +CXXCPP = @CXXCPP@
          245  +CXXDEPMODE = @CXXDEPMODE@
          246  +CXXFLAGS = @CXXFLAGS@
          247  +CYGPATH_W = @CYGPATH_W@
          248  +DEFS = @DEFS@
          249  +DEPDIR = @DEPDIR@
          250  +DLLTOOL = @DLLTOOL@
          251  +DSYMUTIL = @DSYMUTIL@
          252  +DUMPBIN = @DUMPBIN@
          253  +ECHO_C = @ECHO_C@
          254  +ECHO_N = @ECHO_N@
          255  +ECHO_T = @ECHO_T@
          256  +EGREP = @EGREP@
          257  +EXEEXT = @EXEEXT@
          258  +FGREP = @FGREP@
          259  +GREP = @GREP@
          260  +INSTALL = @INSTALL@
          261  +INSTALL_DATA = @INSTALL_DATA@
          262  +INSTALL_PROGRAM = @INSTALL_PROGRAM@
          263  +INSTALL_SCRIPT = @INSTALL_SCRIPT@
          264  +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
          265  +LD = @LD@
          266  +LDFLAGS = @LDFLAGS@
          267  +LIBOBJS = @LIBOBJS@
          268  +LIBS = @LIBS@
          269  +LIBTOOL = @LIBTOOL@
          270  +LIPO = @LIPO@
          271  +LN_S = @LN_S@
          272  +LTLIBOBJS = @LTLIBOBJS@
          273  +MAINT = @MAINT@
          274  +MAKEINFO = @MAKEINFO@
          275  +MANIFEST_TOOL = @MANIFEST_TOOL@
          276  +MKDIR_P = @MKDIR_P@
          277  +NM = @NM@
          278  +NMEDIT = @NMEDIT@
          279  +OBJDUMP = @OBJDUMP@
          280  +OBJEXT = @OBJEXT@
          281  +OTOOL = @OTOOL@
          282  +OTOOL64 = @OTOOL64@
          283  +PACKAGE = @PACKAGE@
          284  +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
          285  +PACKAGE_NAME = @PACKAGE_NAME@
          286  +PACKAGE_STRING = @PACKAGE_STRING@
          287  +PACKAGE_TARNAME = @PACKAGE_TARNAME@
          288  +PACKAGE_URL = @PACKAGE_URL@
          289  +PACKAGE_VERSION = @PACKAGE_VERSION@
          290  +PATH_SEPARATOR = @PATH_SEPARATOR@
          291  +RANLIB = @RANLIB@
          292  +SED = @SED@
          293  +SET_MAKE = @SET_MAKE@
          294  +SHELL = @SHELL@
          295  +STRIP = @STRIP@
          296  +VERSION = @VERSION@
          297  +abs_builddir = @abs_builddir@
          298  +abs_srcdir = @abs_srcdir@
          299  +abs_top_builddir = @abs_top_builddir@
          300  +abs_top_srcdir = @abs_top_srcdir@
          301  +ac_ct_AR = @ac_ct_AR@
          302  +ac_ct_CC = @ac_ct_CC@
          303  +ac_ct_CXX = @ac_ct_CXX@
          304  +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
          305  +am__include = @am__include@
          306  +am__leading_dot = @am__leading_dot@
          307  +am__quote = @am__quote@
          308  +am__tar = @am__tar@
          309  +am__untar = @am__untar@
          310  +bindir = @bindir@
          311  +build = @build@
          312  +build_alias = @build_alias@
          313  +build_cpu = @build_cpu@
          314  +build_os = @build_os@
          315  +build_vendor = @build_vendor@
          316  +builddir = @builddir@
          317  +datadir = @datadir@
          318  +datarootdir = @datarootdir@
          319  +docdir = @docdir@
          320  +dvidir = @dvidir@
          321  +exec_prefix = @exec_prefix@
          322  +host = @host@
          323  +host_alias = @host_alias@
          324  +host_cpu = @host_cpu@
          325  +host_os = @host_os@
          326  +host_vendor = @host_vendor@
          327  +htmldir = @htmldir@
          328  +includedir = @includedir@
          329  +infodir = @infodir@
          330  +install_sh = @install_sh@
          331  +libdir = @libdir@
          332  +libexecdir = @libexecdir@
          333  +localedir = @localedir@
          334  +localstatedir = @localstatedir@
          335  +mandir = @mandir@
          336  +mkdir_p = @mkdir_p@
          337  +oldincludedir = @oldincludedir@
          338  +pdfdir = @pdfdir@
          339  +prefix = @prefix@
          340  +program_transform_name = @program_transform_name@
          341  +psdir = @psdir@
          342  +sbindir = @sbindir@
          343  +sharedstatedir = @sharedstatedir@
          344  +srcdir = @srcdir@
          345  +sysconfdir = @sysconfdir@
          346  +target_alias = @target_alias@
          347  +top_build_prefix = @top_build_prefix@
          348  +top_builddir = @top_builddir@
          349  +top_srcdir = @top_srcdir@
          350  +ACLOCAL_AMFLAGS = -I m4
          351  +SUBDIRS = headers src tests examples
          352  +EXTRA_DIST = makefile.vc nmake.opt mainpage.doxy
          353  +AUTOMAKE_OPTIONS = dist-zip
          354  +pkgconfigdir = $(libdir)/pkgconfig
          355  +pkgconfig_DATA = readosm.pc
          356  +MOSTLYCLEANFILES = readosm_cov.info 
          357  +all: config.h
          358  +	$(MAKE) $(AM_MAKEFLAGS) all-recursive
          359  +
          360  +.SUFFIXES:
          361  +am--refresh: Makefile
          362  +	@:
          363  +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
          364  +	@for dep in $?; do \
          365  +	  case '$(am__configure_deps)' in \
          366  +	    *$$dep*) \
          367  +	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
          368  +	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
          369  +		&& exit 0; \
          370  +	      exit 1;; \
          371  +	  esac; \
          372  +	done; \
          373  +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
          374  +	$(am__cd) $(top_srcdir) && \
          375  +	  $(AUTOMAKE) --gnu Makefile
          376  +.PRECIOUS: Makefile
          377  +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
          378  +	@case '$?' in \
          379  +	  *config.status*) \
          380  +	    echo ' $(SHELL) ./config.status'; \
          381  +	    $(SHELL) ./config.status;; \
          382  +	  *) \
          383  +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
          384  +	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
          385  +	esac;
          386  +
          387  +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
          388  +	$(SHELL) ./config.status --recheck
          389  +
          390  +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
          391  +	$(am__cd) $(srcdir) && $(AUTOCONF)
          392  +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
          393  +	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
          394  +$(am__aclocal_m4_deps):
          395  +
          396  +config.h: stamp-h1
          397  +	@test -f $@ || rm -f stamp-h1
          398  +	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
          399  +
          400  +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
          401  +	@rm -f stamp-h1
          402  +	cd $(top_builddir) && $(SHELL) ./config.status config.h
          403  +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
          404  +	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
          405  +	rm -f stamp-h1
          406  +	touch $@
          407  +
          408  +distclean-hdr:
          409  +	-rm -f config.h stamp-h1
          410  +Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in
          411  +	cd $(top_builddir) && $(SHELL) ./config.status $@
          412  +readosm.pc: $(top_builddir)/config.status $(srcdir)/readosm.pc.in
          413  +	cd $(top_builddir) && $(SHELL) ./config.status $@
          414  +
          415  +mostlyclean-libtool:
          416  +	-rm -f *.lo
          417  +
          418  +clean-libtool:
          419  +	-rm -rf .libs _libs
          420  +
          421  +distclean-libtool:
          422  +	-rm -f libtool config.lt
          423  +install-pkgconfigDATA: $(pkgconfig_DATA)
          424  +	@$(NORMAL_INSTALL)
          425  +	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
          426  +	if test -n "$$list"; then \
          427  +	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
          428  +	  $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
          429  +	fi; \
          430  +	for p in $$list; do \
          431  +	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          432  +	  echo "$$d$$p"; \
          433  +	done | $(am__base_list) | \
          434  +	while read files; do \
          435  +	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
          436  +	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
          437  +	done
          438  +
          439  +uninstall-pkgconfigDATA:
          440  +	@$(NORMAL_UNINSTALL)
          441  +	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
          442  +	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
          443  +	dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
          444  +
          445  +# This directory's subdirectories are mostly independent; you can cd
          446  +# into them and run 'make' without going through this Makefile.
          447  +# To change the values of 'make' variables: instead of editing Makefiles,
          448  +# (1) if the variable is set in 'config.status', edit 'config.status'
          449  +#     (which will cause the Makefiles to be regenerated when you run 'make');
          450  +# (2) otherwise, pass the desired values on the 'make' command line.
          451  +$(am__recursive_targets):
          452  +	@fail=; \
          453  +	if $(am__make_keepgoing); then \
          454  +	  failcom='fail=yes'; \
          455  +	else \
          456  +	  failcom='exit 1'; \
          457  +	fi; \
          458  +	dot_seen=no; \
          459  +	target=`echo $@ | sed s/-recursive//`; \
          460  +	case "$@" in \
          461  +	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
          462  +	  *) list='$(SUBDIRS)' ;; \
          463  +	esac; \
          464  +	for subdir in $$list; do \
          465  +	  echo "Making $$target in $$subdir"; \
          466  +	  if test "$$subdir" = "."; then \
          467  +	    dot_seen=yes; \
          468  +	    local_target="$$target-am"; \
          469  +	  else \
          470  +	    local_target="$$target"; \
          471  +	  fi; \
          472  +	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
          473  +	  || eval $$failcom; \
          474  +	done; \
          475  +	if test "$$dot_seen" = "no"; then \
          476  +	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
          477  +	fi; test -z "$$fail"
          478  +
          479  +ID: $(am__tagged_files)
          480  +	$(am__define_uniq_tagged_files); mkid -fID $$unique
          481  +tags: tags-recursive
          482  +TAGS: tags
          483  +
          484  +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          485  +	set x; \
          486  +	here=`pwd`; \
          487  +	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
          488  +	  include_option=--etags-include; \
          489  +	  empty_fix=.; \
          490  +	else \
          491  +	  include_option=--include; \
          492  +	  empty_fix=; \
          493  +	fi; \
          494  +	list='$(SUBDIRS)'; for subdir in $$list; do \
          495  +	  if test "$$subdir" = .; then :; else \
          496  +	    test ! -f $$subdir/TAGS || \
          497  +	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          498  +	  fi; \
          499  +	done; \
          500  +	$(am__define_uniq_tagged_files); \
          501  +	shift; \
          502  +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          503  +	  test -n "$$unique" || unique=$$empty_fix; \
          504  +	  if test $$# -gt 0; then \
          505  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          506  +	      "$$@" $$unique; \
          507  +	  else \
          508  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          509  +	      $$unique; \
          510  +	  fi; \
          511  +	fi
          512  +ctags: ctags-recursive
          513  +
          514  +CTAGS: ctags
          515  +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          516  +	$(am__define_uniq_tagged_files); \
          517  +	test -z "$(CTAGS_ARGS)$$unique" \
          518  +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
          519  +	     $$unique
          520  +
          521  +GTAGS:
          522  +	here=`$(am__cd) $(top_builddir) && pwd` \
          523  +	  && $(am__cd) $(top_srcdir) \
          524  +	  && gtags -i $(GTAGS_ARGS) "$$here"
          525  +cscope: cscope.files
          526  +	test ! -s cscope.files \
          527  +	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
          528  +clean-cscope:
          529  +	-rm -f cscope.files
          530  +cscope.files: clean-cscope cscopelist
          531  +cscopelist: cscopelist-recursive
          532  +
          533  +cscopelist-am: $(am__tagged_files)
          534  +	list='$(am__tagged_files)'; \
          535  +	case "$(srcdir)" in \
          536  +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          537  +	  *) sdir=$(subdir)/$(srcdir) ;; \
          538  +	esac; \
          539  +	for i in $$list; do \
          540  +	  if test -f "$$i"; then \
          541  +	    echo "$(subdir)/$$i"; \
          542  +	  else \
          543  +	    echo "$$sdir/$$i"; \
          544  +	  fi; \
          545  +	done >> $(top_builddir)/cscope.files
          546  +
          547  +distclean-tags:
          548  +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
          549  +	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
          550  +
          551  +distdir: $(DISTFILES)
          552  +	$(am__remove_distdir)
          553  +	test -d "$(distdir)" || mkdir "$(distdir)"
          554  +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          555  +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          556  +	list='$(DISTFILES)'; \
          557  +	  dist_files=`for file in $$list; do echo $$file; done | \
          558  +	  sed -e "s|^$$srcdirstrip/||;t" \
          559  +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
          560  +	case $$dist_files in \
          561  +	  */*) $(MKDIR_P) `echo "$$dist_files" | \
          562  +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
          563  +			   sort -u` ;; \
          564  +	esac; \
          565  +	for file in $$dist_files; do \
          566  +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          567  +	  if test -d $$d/$$file; then \
          568  +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
          569  +	    if test -d "$(distdir)/$$file"; then \
          570  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          571  +	    fi; \
          572  +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
          573  +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
          574  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          575  +	    fi; \
          576  +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
          577  +	  else \
          578  +	    test -f "$(distdir)/$$file" \
          579  +	    || cp -p $$d/$$file "$(distdir)/$$file" \
          580  +	    || exit 1; \
          581  +	  fi; \
          582  +	done
          583  +	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          584  +	  if test "$$subdir" = .; then :; else \
          585  +	    $(am__make_dryrun) \
          586  +	      || test -d "$(distdir)/$$subdir" \
          587  +	      || $(MKDIR_P) "$(distdir)/$$subdir" \
          588  +	      || exit 1; \
          589  +	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
          590  +	    $(am__relativize); \
          591  +	    new_distdir=$$reldir; \
          592  +	    dir1=$$subdir; dir2="$(top_distdir)"; \
          593  +	    $(am__relativize); \
          594  +	    new_top_distdir=$$reldir; \
          595  +	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
          596  +	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
          597  +	    ($(am__cd) $$subdir && \
          598  +	      $(MAKE) $(AM_MAKEFLAGS) \
          599  +	        top_distdir="$$new_top_distdir" \
          600  +	        distdir="$$new_distdir" \
          601  +		am__remove_distdir=: \
          602  +		am__skip_length_check=: \
          603  +		am__skip_mode_fix=: \
          604  +	        distdir) \
          605  +	      || exit 1; \
          606  +	  fi; \
          607  +	done
          608  +	-test -n "$(am__skip_mode_fix)" \
          609  +	|| find "$(distdir)" -type d ! -perm -755 \
          610  +		-exec chmod u+rwx,go+rx {} \; -o \
          611  +	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
          612  +	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
          613  +	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
          614  +	|| chmod -R a+r "$(distdir)"
          615  +dist-gzip: distdir
          616  +	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
          617  +	$(am__post_remove_distdir)
          618  +
          619  +dist-bzip2: distdir
          620  +	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
          621  +	$(am__post_remove_distdir)
          622  +
          623  +dist-lzip: distdir
          624  +	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
          625  +	$(am__post_remove_distdir)
          626  +
          627  +dist-xz: distdir
          628  +	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
          629  +	$(am__post_remove_distdir)
          630  +
          631  +dist-tarZ: distdir
          632  +	@echo WARNING: "Support for shar distribution archives is" \
          633  +	               "deprecated." >&2
          634  +	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
          635  +	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
          636  +	$(am__post_remove_distdir)
          637  +
          638  +dist-shar: distdir
          639  +	@echo WARNING: "Support for distribution archives compressed with" \
          640  +		       "legacy program 'compress' is deprecated." >&2
          641  +	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
          642  +	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
          643  +	$(am__post_remove_distdir)
          644  +dist-zip: distdir
          645  +	-rm -f $(distdir).zip
          646  +	zip -rq $(distdir).zip $(distdir)
          647  +	$(am__post_remove_distdir)
          648  +
          649  +dist dist-all:
          650  +	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
          651  +	$(am__post_remove_distdir)
          652  +
          653  +# This target untars the dist file and tries a VPATH configuration.  Then
          654  +# it guarantees that the distribution is self-contained by making another
          655  +# tarfile.
          656  +distcheck: dist
          657  +	case '$(DIST_ARCHIVES)' in \
          658  +	*.tar.gz*) \
          659  +	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
          660  +	*.tar.bz2*) \
          661  +	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
          662  +	*.tar.lz*) \
          663  +	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
          664  +	*.tar.xz*) \
          665  +	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
          666  +	*.tar.Z*) \
          667  +	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
          668  +	*.shar.gz*) \
          669  +	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
          670  +	*.zip*) \
          671  +	  unzip $(distdir).zip ;;\
          672  +	esac
          673  +	chmod -R a-w $(distdir)
          674  +	chmod u+w $(distdir)
          675  +	mkdir $(distdir)/_build $(distdir)/_inst
          676  +	chmod a-w $(distdir)
          677  +	test -d $(distdir)/_build || exit 0; \
          678  +	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
          679  +	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
          680  +	  && am__cwd=`pwd` \
          681  +	  && $(am__cd) $(distdir)/_build \
          682  +	  && ../configure \
          683  +	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
          684  +	    $(DISTCHECK_CONFIGURE_FLAGS) \
          685  +	    --srcdir=.. --prefix="$$dc_install_base" \
          686  +	  && $(MAKE) $(AM_MAKEFLAGS) \
          687  +	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
          688  +	  && $(MAKE) $(AM_MAKEFLAGS) check \
          689  +	  && $(MAKE) $(AM_MAKEFLAGS) install \
          690  +	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
          691  +	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
          692  +	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
          693  +	        distuninstallcheck \
          694  +	  && chmod -R a-w "$$dc_install_base" \
          695  +	  && ({ \
          696  +	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
          697  +	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
          698  +	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
          699  +	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
          700  +	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
          701  +	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
          702  +	  && rm -rf "$$dc_destdir" \
          703  +	  && $(MAKE) $(AM_MAKEFLAGS) dist \
          704  +	  && rm -rf $(DIST_ARCHIVES) \
          705  +	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
          706  +	  && cd "$$am__cwd" \
          707  +	  || exit 1
          708  +	$(am__post_remove_distdir)
          709  +	@(echo "$(distdir) archives ready for distribution: "; \
          710  +	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
          711  +	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
          712  +distuninstallcheck:
          713  +	@test -n '$(distuninstallcheck_dir)' || { \
          714  +	  echo 'ERROR: trying to run $@ with an empty' \
          715  +	       '$$(distuninstallcheck_dir)' >&2; \
          716  +	  exit 1; \
          717  +	}; \
          718  +	$(am__cd) '$(distuninstallcheck_dir)' || { \
          719  +	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
          720  +	  exit 1; \
          721  +	}; \
          722  +	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
          723  +	   || { echo "ERROR: files left after uninstall:" ; \
          724  +	        if test -n "$(DESTDIR)"; then \
          725  +	          echo "  (check DESTDIR support)"; \
          726  +	        fi ; \
          727  +	        $(distuninstallcheck_listfiles) ; \
          728  +	        exit 1; } >&2
          729  +distcleancheck: distclean
          730  +	@if test '$(srcdir)' = . ; then \
          731  +	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
          732  +	  exit 1 ; \
          733  +	fi
          734  +	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
          735  +	  || { echo "ERROR: files left in build directory after distclean:" ; \
          736  +	       $(distcleancheck_listfiles) ; \
          737  +	       exit 1; } >&2
          738  +check-am: all-am
          739  +check: check-recursive
          740  +all-am: Makefile $(DATA) config.h
          741  +installdirs: installdirs-recursive
          742  +installdirs-am:
          743  +	for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
          744  +	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
          745  +	done
          746  +install: install-recursive
          747  +install-exec: install-exec-recursive
          748  +install-data: install-data-recursive
          749  +uninstall: uninstall-recursive
          750  +
          751  +install-am: all-am
          752  +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
          753  +
          754  +installcheck: installcheck-recursive
          755  +install-strip:
          756  +	if test -z '$(STRIP)'; then \
          757  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          758  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          759  +	      install; \
          760  +	else \
          761  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          762  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          763  +	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
          764  +	fi
          765  +mostlyclean-generic:
          766  +	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
          767  +
          768  +clean-generic:
          769  +
          770  +distclean-generic:
          771  +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
          772  +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
          773  +
          774  +maintainer-clean-generic:
          775  +	@echo "This command is intended for maintainers to use"
          776  +	@echo "it deletes files that may require special tools to rebuild."
          777  +clean: clean-recursive
          778  +
          779  +clean-am: clean-generic clean-libtool mostlyclean-am
          780  +
          781  +distclean: distclean-recursive
          782  +	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
          783  +	-rm -f Makefile
          784  +distclean-am: clean-am distclean-generic distclean-hdr \
          785  +	distclean-libtool distclean-tags
          786  +
          787  +dvi: dvi-recursive
          788  +
          789  +dvi-am:
          790  +
          791  +html: html-recursive
          792  +
          793  +html-am:
          794  +
          795  +info: info-recursive
          796  +
          797  +info-am:
          798  +
          799  +install-data-am: install-pkgconfigDATA
          800  +
          801  +install-dvi: install-dvi-recursive
          802  +
          803  +install-dvi-am:
          804  +
          805  +install-exec-am:
          806  +
          807  +install-html: install-html-recursive
          808  +
          809  +install-html-am:
          810  +
          811  +install-info: install-info-recursive
          812  +
          813  +install-info-am:
          814  +
          815  +install-man:
          816  +
          817  +install-pdf: install-pdf-recursive
          818  +
          819  +install-pdf-am:
          820  +
          821  +install-ps: install-ps-recursive
          822  +
          823  +install-ps-am:
          824  +
          825  +installcheck-am:
          826  +
          827  +maintainer-clean: maintainer-clean-recursive
          828  +	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
          829  +	-rm -rf $(top_srcdir)/autom4te.cache
          830  +	-rm -f Makefile
          831  +maintainer-clean-am: distclean-am maintainer-clean-generic
          832  +
          833  +mostlyclean: mostlyclean-recursive
          834  +
          835  +mostlyclean-am: mostlyclean-generic mostlyclean-libtool
          836  +
          837  +pdf: pdf-recursive
          838  +
          839  +pdf-am:
          840  +
          841  +ps: ps-recursive
          842  +
          843  +ps-am:
          844  +
          845  +uninstall-am: uninstall-pkgconfigDATA
          846  +
          847  +.MAKE: $(am__recursive_targets) all install-am install-strip
          848  +
          849  +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
          850  +	am--refresh check check-am clean clean-cscope clean-generic \
          851  +	clean-libtool cscope cscopelist-am ctags ctags-am dist \
          852  +	dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
          853  +	dist-xz dist-zip distcheck distclean distclean-generic \
          854  +	distclean-hdr distclean-libtool distclean-tags distcleancheck \
          855  +	distdir distuninstallcheck dvi dvi-am html html-am info \
          856  +	info-am install install-am install-data install-data-am \
          857  +	install-dvi install-dvi-am install-exec install-exec-am \
          858  +	install-html install-html-am install-info install-info-am \
          859  +	install-man install-pdf install-pdf-am install-pkgconfigDATA \
          860  +	install-ps install-ps-am install-strip installcheck \
          861  +	installcheck-am installdirs installdirs-am maintainer-clean \
          862  +	maintainer-clean-generic mostlyclean mostlyclean-generic \
          863  +	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
          864  +	uninstall-am uninstall-pkgconfigDATA
          865  +
          866  +
          867  +coverage-init:
          868  +	lcov --directory src --capture --initial --output-file readosm_cov.info
          869  +
          870  +coverage::
          871  +	lcov --rc lcov_branch_coverage=1 --directory src --output-file readosm_cov.info --capture
          872  +	genhtml --rc lcov_branch_coverage=1 -o covresults readosm_cov.info
          873  +
          874  +# Tell versions [3.59,3.63) of GNU make to not export all variables.
          875  +# Otherwise a system limit (for SysV at least) may be exceeded.
          876  +.NOEXPORT:

Added NEWS.


Added README.

            1  +ReadOSM is a simple library intended for extracting the contents from 
            2  +Open Street Map files: both input formats (.osm XML based and .osm.pbf
            3  +based on Google's Protocol Buffer serialization) are indifferently
            4  +supported.
            5  +
            6  +
            7  +Documentation
            8  +-------------
            9  +Documentation is generated using Doxygen. You can run "doxygen" in the top level
           10  +directory to generate HTML and LaTeX documentation (in the html/ and latex/
           11  +directories respectively). You can generate a PDF format manual if you go into
           12  +the latex/ directory and type "make". The output should be a file called
           13  +refman.pdf. The HTML documentation is normally more useful.
           14  +
           15  +
           16  +Coverage testing
           17  +----------------
           18  +ReadOSM has coverage testing support. You need to have gcov and lcov installed.
           19  +
           20  +Process:
           21  +1. Use --enable-gcov=yes with configure script
           22  +2. Clean and rebuild.
           23  +3. make coverage-init
           24  +4. make check (or whatever other tests you want to check coverage for)
           25  +5. make coverage
           26  +6. check summary on command line output.
           27  +7. review detailed coverage results in covresults/index.html

Added aclocal.m4.

            1  +# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
            2  +
            3  +# Copyright (C) 1996-2013 Free Software Foundation, Inc.
            4  +
            5  +# This file is free software; the Free Software Foundation
            6  +# gives unlimited permission to copy and/or distribute it,
            7  +# with or without modifications, as long as this notice is preserved.
            8  +
            9  +# This program is distributed in the hope that it will be useful,
           10  +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
           11  +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
           12  +# PARTICULAR PURPOSE.
           13  +
           14  +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
           15  +m4_ifndef([AC_AUTOCONF_VERSION],
           16  +  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
           17  +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
           18  +[m4_warning([this file was generated for autoconf 2.69.
           19  +You have another version of autoconf.  It may work, but is not guaranteed to.
           20  +If you have problems, you may need to regenerate the build system entirely.
           21  +To do so, use the procedure documented by the package, typically 'autoreconf'.])])
           22  +
           23  +# Copyright (C) 2002-2013 Free Software Foundation, Inc.
           24  +#
           25  +# This file is free software; the Free Software Foundation
           26  +# gives unlimited permission to copy and/or distribute it,
           27  +# with or without modifications, as long as this notice is preserved.
           28  +
           29  +# AM_AUTOMAKE_VERSION(VERSION)
           30  +# ----------------------------
           31  +# Automake X.Y traces this macro to ensure aclocal.m4 has been
           32  +# generated from the m4 files accompanying Automake X.Y.
           33  +# (This private macro should not be called outside this file.)
           34  +AC_DEFUN([AM_AUTOMAKE_VERSION],
           35  +[am__api_version='1.14'
           36  +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
           37  +dnl require some minimum version.  Point them to the right macro.
           38  +m4_if([$1], [1.14.1], [],
           39  +      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
           40  +])
           41  +
           42  +# _AM_AUTOCONF_VERSION(VERSION)
           43  +# -----------------------------
           44  +# aclocal traces this macro to find the Autoconf version.
           45  +# This is a private macro too.  Using m4_define simplifies
           46  +# the logic in aclocal, which can simply ignore this definition.
           47  +m4_define([_AM_AUTOCONF_VERSION], [])
           48  +
           49  +# AM_SET_CURRENT_AUTOMAKE_VERSION
           50  +# -------------------------------
           51  +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
           52  +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
           53  +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
           54  +[AM_AUTOMAKE_VERSION([1.14.1])dnl
           55  +m4_ifndef([AC_AUTOCONF_VERSION],
           56  +  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
           57  +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
           58  +
           59  +# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
           60  +
           61  +# Copyright (C) 2001-2013 Free Software Foundation, Inc.
           62  +#
           63  +# This file is free software; the Free Software Foundation
           64  +# gives unlimited permission to copy and/or distribute it,
           65  +# with or without modifications, as long as this notice is preserved.
           66  +
           67  +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
           68  +# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
           69  +# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
           70  +#
           71  +# Of course, Automake must honor this variable whenever it calls a
           72  +# tool from the auxiliary directory.  The problem is that $srcdir (and
           73  +# therefore $ac_aux_dir as well) can be either absolute or relative,
           74  +# depending on how configure is run.  This is pretty annoying, since
           75  +# it makes $ac_aux_dir quite unusable in subdirectories: in the top
           76  +# source directory, any form will work fine, but in subdirectories a
           77  +# relative path needs to be adjusted first.
           78  +#
           79  +# $ac_aux_dir/missing
           80  +#    fails when called from a subdirectory if $ac_aux_dir is relative
           81  +# $top_srcdir/$ac_aux_dir/missing
           82  +#    fails if $ac_aux_dir is absolute,
           83  +#    fails when called from a subdirectory in a VPATH build with
           84  +#          a relative $ac_aux_dir
           85  +#
           86  +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
           87  +# are both prefixed by $srcdir.  In an in-source build this is usually
           88  +# harmless because $srcdir is '.', but things will broke when you
           89  +# start a VPATH build or use an absolute $srcdir.
           90  +#
           91  +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
           92  +# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
           93  +#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
           94  +# and then we would define $MISSING as
           95  +#   MISSING="\${SHELL} $am_aux_dir/missing"
           96  +# This will work as long as MISSING is not called from configure, because
           97  +# unfortunately $(top_srcdir) has no meaning in configure.
           98  +# However there are other variables, like CC, which are often used in
           99  +# configure, and could therefore not use this "fixed" $ac_aux_dir.
          100  +#
          101  +# Another solution, used here, is to always expand $ac_aux_dir to an
          102  +# absolute PATH.  The drawback is that using absolute paths prevent a
          103  +# configured tree to be moved without reconfiguration.
          104  +
          105  +AC_DEFUN([AM_AUX_DIR_EXPAND],
          106  +[dnl Rely on autoconf to set up CDPATH properly.
          107  +AC_PREREQ([2.50])dnl
          108  +# expand $ac_aux_dir to an absolute path
          109  +am_aux_dir=`cd $ac_aux_dir && pwd`
          110  +])
          111  +
          112  +# AM_CONDITIONAL                                            -*- Autoconf -*-
          113  +
          114  +# Copyright (C) 1997-2013 Free Software Foundation, Inc.
          115  +#
          116  +# This file is free software; the Free Software Foundation
          117  +# gives unlimited permission to copy and/or distribute it,
          118  +# with or without modifications, as long as this notice is preserved.
          119  +
          120  +# AM_CONDITIONAL(NAME, SHELL-CONDITION)
          121  +# -------------------------------------
          122  +# Define a conditional.
          123  +AC_DEFUN([AM_CONDITIONAL],
          124  +[AC_PREREQ([2.52])dnl
          125  + m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
          126  +       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
          127  +AC_SUBST([$1_TRUE])dnl
          128  +AC_SUBST([$1_FALSE])dnl
          129  +_AM_SUBST_NOTMAKE([$1_TRUE])dnl
          130  +_AM_SUBST_NOTMAKE([$1_FALSE])dnl
          131  +m4_define([_AM_COND_VALUE_$1], [$2])dnl
          132  +if $2; then
          133  +  $1_TRUE=
          134  +  $1_FALSE='#'
          135  +else
          136  +  $1_TRUE='#'
          137  +  $1_FALSE=
          138  +fi
          139  +AC_CONFIG_COMMANDS_PRE(
          140  +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
          141  +  AC_MSG_ERROR([[conditional "$1" was never defined.
          142  +Usually this means the macro was only invoked conditionally.]])
          143  +fi])])
          144  +
          145  +# Copyright (C) 1999-2013 Free Software Foundation, Inc.
          146  +#
          147  +# This file is free software; the Free Software Foundation
          148  +# gives unlimited permission to copy and/or distribute it,
          149  +# with or without modifications, as long as this notice is preserved.
          150  +
          151  +
          152  +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
          153  +# written in clear, in which case automake, when reading aclocal.m4,
          154  +# will think it sees a *use*, and therefore will trigger all it's
          155  +# C support machinery.  Also note that it means that autoscan, seeing
          156  +# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
          157  +
          158  +
          159  +# _AM_DEPENDENCIES(NAME)
          160  +# ----------------------
          161  +# See how the compiler implements dependency checking.
          162  +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
          163  +# We try a few techniques and use that to set a single cache variable.
          164  +#
          165  +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
          166  +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
          167  +# dependency, and given that the user is not expected to run this macro,
          168  +# just rely on AC_PROG_CC.
          169  +AC_DEFUN([_AM_DEPENDENCIES],
          170  +[AC_REQUIRE([AM_SET_DEPDIR])dnl
          171  +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
          172  +AC_REQUIRE([AM_MAKE_INCLUDE])dnl
          173  +AC_REQUIRE([AM_DEP_TRACK])dnl
          174  +
          175  +m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
          176  +      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
          177  +      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
          178  +      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
          179  +      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
          180  +      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
          181  +                    [depcc="$$1"   am_compiler_list=])
          182  +
          183  +AC_CACHE_CHECK([dependency style of $depcc],
          184  +               [am_cv_$1_dependencies_compiler_type],
          185  +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
          186  +  # We make a subdir and do the tests there.  Otherwise we can end up
          187  +  # making bogus files that we don't know about and never remove.  For
          188  +  # instance it was reported that on HP-UX the gcc test will end up
          189  +  # making a dummy file named 'D' -- because '-MD' means "put the output
          190  +  # in D".
          191  +  rm -rf conftest.dir
          192  +  mkdir conftest.dir
          193  +  # Copy depcomp to subdir because otherwise we won't find it if we're
          194  +  # using a relative directory.
          195  +  cp "$am_depcomp" conftest.dir
          196  +  cd conftest.dir
          197  +  # We will build objects and dependencies in a subdirectory because
          198  +  # it helps to detect inapplicable dependency modes.  For instance
          199  +  # both Tru64's cc and ICC support -MD to output dependencies as a
          200  +  # side effect of compilation, but ICC will put the dependencies in
          201  +  # the current directory while Tru64 will put them in the object
          202  +  # directory.
          203  +  mkdir sub
          204  +
          205  +  am_cv_$1_dependencies_compiler_type=none
          206  +  if test "$am_compiler_list" = ""; then
          207  +     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
          208  +  fi
          209  +  am__universal=false
          210  +  m4_case([$1], [CC],
          211  +    [case " $depcc " in #(
          212  +     *\ -arch\ *\ -arch\ *) am__universal=true ;;
          213  +     esac],
          214  +    [CXX],
          215  +    [case " $depcc " in #(
          216  +     *\ -arch\ *\ -arch\ *) am__universal=true ;;
          217  +     esac])
          218  +
          219  +  for depmode in $am_compiler_list; do
          220  +    # Setup a source with many dependencies, because some compilers
          221  +    # like to wrap large dependency lists on column 80 (with \), and
          222  +    # we should not choose a depcomp mode which is confused by this.
          223  +    #
          224  +    # We need to recreate these files for each test, as the compiler may
          225  +    # overwrite some of them when testing with obscure command lines.
          226  +    # This happens at least with the AIX C compiler.
          227  +    : > sub/conftest.c
          228  +    for i in 1 2 3 4 5 6; do
          229  +      echo '#include "conftst'$i'.h"' >> sub/conftest.c
          230  +      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
          231  +      # Solaris 10 /bin/sh.
          232  +      echo '/* dummy */' > sub/conftst$i.h
          233  +    done
          234  +    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
          235  +
          236  +    # We check with '-c' and '-o' for the sake of the "dashmstdout"
          237  +    # mode.  It turns out that the SunPro C++ compiler does not properly
          238  +    # handle '-M -o', and we need to detect this.  Also, some Intel
          239  +    # versions had trouble with output in subdirs.
          240  +    am__obj=sub/conftest.${OBJEXT-o}
          241  +    am__minus_obj="-o $am__obj"
          242  +    case $depmode in
          243  +    gcc)
          244  +      # This depmode causes a compiler race in universal mode.
          245  +      test "$am__universal" = false || continue
          246  +      ;;
          247  +    nosideeffect)
          248  +      # After this tag, mechanisms are not by side-effect, so they'll
          249  +      # only be used when explicitly requested.
          250  +      if test "x$enable_dependency_tracking" = xyes; then
          251  +	continue
          252  +      else
          253  +	break
          254  +      fi
          255  +      ;;
          256  +    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
          257  +      # This compiler won't grok '-c -o', but also, the minuso test has
          258  +      # not run yet.  These depmodes are late enough in the game, and
          259  +      # so weak that their functioning should not be impacted.
          260  +      am__obj=conftest.${OBJEXT-o}
          261  +      am__minus_obj=
          262  +      ;;
          263  +    none) break ;;
          264  +    esac
          265  +    if depmode=$depmode \
          266  +       source=sub/conftest.c object=$am__obj \
          267  +       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
          268  +       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
          269  +         >/dev/null 2>conftest.err &&
          270  +       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
          271  +       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
          272  +       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
          273  +       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
          274  +      # icc doesn't choke on unknown options, it will just issue warnings
          275  +      # or remarks (even with -Werror).  So we grep stderr for any message
          276  +      # that says an option was ignored or not supported.
          277  +      # When given -MP, icc 7.0 and 7.1 complain thusly:
          278  +      #   icc: Command line warning: ignoring option '-M'; no argument required
          279  +      # The diagnosis changed in icc 8.0:
          280  +      #   icc: Command line remark: option '-MP' not supported
          281  +      if (grep 'ignoring option' conftest.err ||
          282  +          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
          283  +        am_cv_$1_dependencies_compiler_type=$depmode
          284  +        break
          285  +      fi
          286  +    fi
          287  +  done
          288  +
          289  +  cd ..
          290  +  rm -rf conftest.dir
          291  +else
          292  +  am_cv_$1_dependencies_compiler_type=none
          293  +fi
          294  +])
          295  +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
          296  +AM_CONDITIONAL([am__fastdep$1], [
          297  +  test "x$enable_dependency_tracking" != xno \
          298  +  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
          299  +])
          300  +
          301  +
          302  +# AM_SET_DEPDIR
          303  +# -------------
          304  +# Choose a directory name for dependency files.
          305  +# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
          306  +AC_DEFUN([AM_SET_DEPDIR],
          307  +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
          308  +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
          309  +])
          310  +
          311  +
          312  +# AM_DEP_TRACK
          313  +# ------------
          314  +AC_DEFUN([AM_DEP_TRACK],
          315  +[AC_ARG_ENABLE([dependency-tracking], [dnl
          316  +AS_HELP_STRING(
          317  +  [--enable-dependency-tracking],
          318  +  [do not reject slow dependency extractors])
          319  +AS_HELP_STRING(
          320  +  [--disable-dependency-tracking],
          321  +  [speeds up one-time build])])
          322  +if test "x$enable_dependency_tracking" != xno; then
          323  +  am_depcomp="$ac_aux_dir/depcomp"
          324  +  AMDEPBACKSLASH='\'
          325  +  am__nodep='_no'
          326  +fi
          327  +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
          328  +AC_SUBST([AMDEPBACKSLASH])dnl
          329  +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
          330  +AC_SUBST([am__nodep])dnl
          331  +_AM_SUBST_NOTMAKE([am__nodep])dnl
          332  +])
          333  +
          334  +# Generate code to set up dependency tracking.              -*- Autoconf -*-
          335  +
          336  +# Copyright (C) 1999-2013 Free Software Foundation, Inc.
          337  +#
          338  +# This file is free software; the Free Software Foundation
          339  +# gives unlimited permission to copy and/or distribute it,
          340  +# with or without modifications, as long as this notice is preserved.
          341  +
          342  +
          343  +# _AM_OUTPUT_DEPENDENCY_COMMANDS
          344  +# ------------------------------
          345  +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
          346  +[{
          347  +  # Older Autoconf quotes --file arguments for eval, but not when files
          348  +  # are listed without --file.  Let's play safe and only enable the eval
          349  +  # if we detect the quoting.
          350  +  case $CONFIG_FILES in
          351  +  *\'*) eval set x "$CONFIG_FILES" ;;
          352  +  *)   set x $CONFIG_FILES ;;
          353  +  esac
          354  +  shift
          355  +  for mf
          356  +  do
          357  +    # Strip MF so we end up with the name of the file.
          358  +    mf=`echo "$mf" | sed -e 's/:.*$//'`
          359  +    # Check whether this is an Automake generated Makefile or not.
          360  +    # We used to match only the files named 'Makefile.in', but
          361  +    # some people rename them; so instead we look at the file content.
          362  +    # Grep'ing the first line is not enough: some people post-process
          363  +    # each Makefile.in and add a new line on top of each file to say so.
          364  +    # Grep'ing the whole file is not good either: AIX grep has a line
          365  +    # limit of 2048, but all sed's we know have understand at least 4000.
          366  +    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
          367  +      dirpart=`AS_DIRNAME("$mf")`
          368  +    else
          369  +      continue
          370  +    fi
          371  +    # Extract the definition of DEPDIR, am__include, and am__quote
          372  +    # from the Makefile without running 'make'.
          373  +    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
          374  +    test -z "$DEPDIR" && continue
          375  +    am__include=`sed -n 's/^am__include = //p' < "$mf"`
          376  +    test -z "$am__include" && continue
          377  +    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
          378  +    # Find all dependency output files, they are included files with
          379  +    # $(DEPDIR) in their names.  We invoke sed twice because it is the
          380  +    # simplest approach to changing $(DEPDIR) to its actual value in the
          381  +    # expansion.
          382  +    for file in `sed -n "
          383  +      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
          384  +	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
          385  +      # Make sure the directory exists.
          386  +      test -f "$dirpart/$file" && continue
          387  +      fdir=`AS_DIRNAME(["$file"])`
          388  +      AS_MKDIR_P([$dirpart/$fdir])
          389  +      # echo "creating $dirpart/$file"
          390  +      echo '# dummy' > "$dirpart/$file"
          391  +    done
          392  +  done
          393  +}
          394  +])# _AM_OUTPUT_DEPENDENCY_COMMANDS
          395  +
          396  +
          397  +# AM_OUTPUT_DEPENDENCY_COMMANDS
          398  +# -----------------------------
          399  +# This macro should only be invoked once -- use via AC_REQUIRE.
          400  +#
          401  +# This code is only required when automatic dependency tracking
          402  +# is enabled.  FIXME.  This creates each '.P' file that we will
          403  +# need in order to bootstrap the dependency handling code.
          404  +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
          405  +[AC_CONFIG_COMMANDS([depfiles],
          406  +     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
          407  +     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
          408  +])
          409  +
          410  +# Do all the work for Automake.                             -*- Autoconf -*-
          411  +
          412  +# Copyright (C) 1996-2013 Free Software Foundation, Inc.
          413  +#
          414  +# This file is free software; the Free Software Foundation
          415  +# gives unlimited permission to copy and/or distribute it,
          416  +# with or without modifications, as long as this notice is preserved.
          417  +
          418  +# This macro actually does too much.  Some checks are only needed if
          419  +# your package does certain things.  But this isn't really a big deal.
          420  +
          421  +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
          422  +m4_define([AC_PROG_CC],
          423  +m4_defn([AC_PROG_CC])
          424  +[_AM_PROG_CC_C_O
          425  +])
          426  +
          427  +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
          428  +# AM_INIT_AUTOMAKE([OPTIONS])
          429  +# -----------------------------------------------
          430  +# The call with PACKAGE and VERSION arguments is the old style
          431  +# call (pre autoconf-2.50), which is being phased out.  PACKAGE
          432  +# and VERSION should now be passed to AC_INIT and removed from
          433  +# the call to AM_INIT_AUTOMAKE.
          434  +# We support both call styles for the transition.  After
          435  +# the next Automake release, Autoconf can make the AC_INIT
          436  +# arguments mandatory, and then we can depend on a new Autoconf
          437  +# release and drop the old call support.
          438  +AC_DEFUN([AM_INIT_AUTOMAKE],
          439  +[AC_PREREQ([2.65])dnl
          440  +dnl Autoconf wants to disallow AM_ names.  We explicitly allow
          441  +dnl the ones we care about.
          442  +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
          443  +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
          444  +AC_REQUIRE([AC_PROG_INSTALL])dnl
          445  +if test "`cd $srcdir && pwd`" != "`pwd`"; then
          446  +  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
          447  +  # is not polluted with repeated "-I."
          448  +  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
          449  +  # test to see if srcdir already configured
          450  +  if test -f $srcdir/config.status; then
          451  +    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
          452  +  fi
          453  +fi
          454  +
          455  +# test whether we have cygpath
          456  +if test -z "$CYGPATH_W"; then
          457  +  if (cygpath --version) >/dev/null 2>/dev/null; then
          458  +    CYGPATH_W='cygpath -w'
          459  +  else
          460  +    CYGPATH_W=echo
          461  +  fi
          462  +fi
          463  +AC_SUBST([CYGPATH_W])
          464  +
          465  +# Define the identity of the package.
          466  +dnl Distinguish between old-style and new-style calls.
          467  +m4_ifval([$2],
          468  +[AC_DIAGNOSE([obsolete],
          469  +             [$0: two- and three-arguments forms are deprecated.])
          470  +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
          471  + AC_SUBST([PACKAGE], [$1])dnl
          472  + AC_SUBST([VERSION], [$2])],
          473  +[_AM_SET_OPTIONS([$1])dnl
          474  +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
          475  +m4_if(
          476  +  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
          477  +  [ok:ok],,
          478  +  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
          479  + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
          480  + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
          481  +
          482  +_AM_IF_OPTION([no-define],,
          483  +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
          484  + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
          485  +
          486  +# Some tools Automake needs.
          487  +AC_REQUIRE([AM_SANITY_CHECK])dnl
          488  +AC_REQUIRE([AC_ARG_PROGRAM])dnl
          489  +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
          490  +AM_MISSING_PROG([AUTOCONF], [autoconf])
          491  +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
          492  +AM_MISSING_PROG([AUTOHEADER], [autoheader])
          493  +AM_MISSING_PROG([MAKEINFO], [makeinfo])
          494  +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
          495  +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
          496  +AC_REQUIRE([AC_PROG_MKDIR_P])dnl
          497  +# For better backward compatibility.  To be removed once Automake 1.9.x
          498  +# dies out for good.  For more background, see:
          499  +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
          500  +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
          501  +AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
          502  +# We need awk for the "check" target.  The system "awk" is bad on
          503  +# some platforms.
          504  +AC_REQUIRE([AC_PROG_AWK])dnl
          505  +AC_REQUIRE([AC_PROG_MAKE_SET])dnl
          506  +AC_REQUIRE([AM_SET_LEADING_DOT])dnl
          507  +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
          508  +	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
          509  +			     [_AM_PROG_TAR([v7])])])
          510  +_AM_IF_OPTION([no-dependencies],,
          511  +[AC_PROVIDE_IFELSE([AC_PROG_CC],
          512  +		  [_AM_DEPENDENCIES([CC])],
          513  +		  [m4_define([AC_PROG_CC],
          514  +			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
          515  +AC_PROVIDE_IFELSE([AC_PROG_CXX],
          516  +		  [_AM_DEPENDENCIES([CXX])],
          517  +		  [m4_define([AC_PROG_CXX],
          518  +			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
          519  +AC_PROVIDE_IFELSE([AC_PROG_OBJC],
          520  +		  [_AM_DEPENDENCIES([OBJC])],
          521  +		  [m4_define([AC_PROG_OBJC],
          522  +			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
          523  +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
          524  +		  [_AM_DEPENDENCIES([OBJCXX])],
          525  +		  [m4_define([AC_PROG_OBJCXX],
          526  +			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
          527  +])
          528  +AC_REQUIRE([AM_SILENT_RULES])dnl
          529  +dnl The testsuite driver may need to know about EXEEXT, so add the
          530  +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
          531  +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
          532  +AC_CONFIG_COMMANDS_PRE(dnl
          533  +[m4_provide_if([_AM_COMPILER_EXEEXT],
          534  +  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
          535  +
          536  +# POSIX will say in a future version that running "rm -f" with no argument
          537  +# is OK; and we want to be able to make that assumption in our Makefile
          538  +# recipes.  So use an aggressive probe to check that the usage we want is
          539  +# actually supported "in the wild" to an acceptable degree.
          540  +# See automake bug#10828.
          541  +# To make any issue more visible, cause the running configure to be aborted
          542  +# by default if the 'rm' program in use doesn't match our expectations; the
          543  +# user can still override this though.
          544  +if rm -f && rm -fr && rm -rf; then : OK; else
          545  +  cat >&2 <<'END'
          546  +Oops!
          547  +
          548  +Your 'rm' program seems unable to run without file operands specified
          549  +on the command line, even when the '-f' option is present.  This is contrary
          550  +to the behaviour of most rm programs out there, and not conforming with
          551  +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
          552  +
          553  +Please tell bug-automake@gnu.org about your system, including the value
          554  +of your $PATH and any error possibly output before this message.  This
          555  +can help us improve future automake versions.
          556  +
          557  +END
          558  +  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
          559  +    echo 'Configuration will proceed anyway, since you have set the' >&2
          560  +    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
          561  +    echo >&2
          562  +  else
          563  +    cat >&2 <<'END'
          564  +Aborting the configuration process, to ensure you take notice of the issue.
          565  +
          566  +You can download and install GNU coreutils to get an 'rm' implementation
          567  +that behaves properly: <http://www.gnu.org/software/coreutils/>.
          568  +
          569  +If you want to complete the configuration process using your problematic
          570  +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
          571  +to "yes", and re-run configure.
          572  +
          573  +END
          574  +    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
          575  +  fi
          576  +fi])
          577  +
          578  +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
          579  +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
          580  +dnl mangled by Autoconf and run in a shell conditional statement.
          581  +m4_define([_AC_COMPILER_EXEEXT],
          582  +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
          583  +
          584  +# When config.status generates a header, we must update the stamp-h file.
          585  +# This file resides in the same directory as the config header
          586  +# that is generated.  The stamp files are numbered to have different names.
          587  +
          588  +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
          589  +# loop where config.status creates the headers, so we can generate
          590  +# our stamp files there.
          591  +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
          592  +[# Compute $1's index in $config_headers.
          593  +_am_arg=$1
          594  +_am_stamp_count=1
          595  +for _am_header in $config_headers :; do
          596  +  case $_am_header in
          597  +    $_am_arg | $_am_arg:* )
          598  +      break ;;
          599  +    * )
          600  +      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
          601  +  esac
          602  +done
          603  +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
          604  +
          605  +# Copyright (C) 2001-2013 Free Software Foundation, Inc.
          606  +#
          607  +# This file is free software; the Free Software Foundation
          608  +# gives unlimited permission to copy and/or distribute it,
          609  +# with or without modifications, as long as this notice is preserved.
          610  +
          611  +# AM_PROG_INSTALL_SH
          612  +# ------------------
          613  +# Define $install_sh.
          614  +AC_DEFUN([AM_PROG_INSTALL_SH],
          615  +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
          616  +if test x"${install_sh}" != xset; then
          617  +  case $am_aux_dir in
          618  +  *\ * | *\	*)
          619  +    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
          620  +  *)
          621  +    install_sh="\${SHELL} $am_aux_dir/install-sh"
          622  +  esac
          623  +fi
          624  +AC_SUBST([install_sh])])
          625  +
          626  +# Copyright (C) 2003-2013 Free Software Foundation, Inc.
          627  +#
          628  +# This file is free software; the Free Software Foundation
          629  +# gives unlimited permission to copy and/or distribute it,
          630  +# with or without modifications, as long as this notice is preserved.
          631  +
          632  +# Check whether the underlying file-system supports filenames
          633  +# with a leading dot.  For instance MS-DOS doesn't.
          634  +AC_DEFUN([AM_SET_LEADING_DOT],
          635  +[rm -rf .tst 2>/dev/null
          636  +mkdir .tst 2>/dev/null
          637  +if test -d .tst; then
          638  +  am__leading_dot=.
          639  +else
          640  +  am__leading_dot=_
          641  +fi
          642  +rmdir .tst 2>/dev/null
          643  +AC_SUBST([am__leading_dot])])
          644  +
          645  +# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
          646  +# From Jim Meyering
          647  +
          648  +# Copyright (C) 1996-2013 Free Software Foundation, Inc.
          649  +#
          650  +# This file is free software; the Free Software Foundation
          651  +# gives unlimited permission to copy and/or distribute it,
          652  +# with or without modifications, as long as this notice is preserved.
          653  +
          654  +# AM_MAINTAINER_MODE([DEFAULT-MODE])
          655  +# ----------------------------------
          656  +# Control maintainer-specific portions of Makefiles.
          657  +# Default is to disable them, unless 'enable' is passed literally.
          658  +# For symmetry, 'disable' may be passed as well.  Anyway, the user
          659  +# can override the default with the --enable/--disable switch.
          660  +AC_DEFUN([AM_MAINTAINER_MODE],
          661  +[m4_case(m4_default([$1], [disable]),
          662  +       [enable], [m4_define([am_maintainer_other], [disable])],
          663  +       [disable], [m4_define([am_maintainer_other], [enable])],
          664  +       [m4_define([am_maintainer_other], [enable])
          665  +        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
          666  +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
          667  +  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
          668  +  AC_ARG_ENABLE([maintainer-mode],
          669  +    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
          670  +      am_maintainer_other[ make rules and dependencies not useful
          671  +      (and sometimes confusing) to the casual installer])],
          672  +    [USE_MAINTAINER_MODE=$enableval],
          673  +    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
          674  +  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
          675  +  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
          676  +  MAINT=$MAINTAINER_MODE_TRUE
          677  +  AC_SUBST([MAINT])dnl
          678  +]
          679  +)
          680  +
          681  +# Check to see how 'make' treats includes.	            -*- Autoconf -*-
          682  +
          683  +# Copyright (C) 2001-2013 Free Software Foundation, Inc.
          684  +#
          685  +# This file is free software; the Free Software Foundation
          686  +# gives unlimited permission to copy and/or distribute it,
          687  +# with or without modifications, as long as this notice is preserved.
          688  +
          689  +# AM_MAKE_INCLUDE()
          690  +# -----------------
          691  +# Check to see how make treats includes.
          692  +AC_DEFUN([AM_MAKE_INCLUDE],
          693  +[am_make=${MAKE-make}
          694  +cat > confinc << 'END'
          695  +am__doit:
          696  +	@echo this is the am__doit target
          697  +.PHONY: am__doit
          698  +END
          699  +# If we don't find an include directive, just comment out the code.
          700  +AC_MSG_CHECKING([for style of include used by $am_make])
          701  +am__include="#"
          702  +am__quote=
          703  +_am_result=none
          704  +# First try GNU make style include.
          705  +echo "include confinc" > confmf
          706  +# Ignore all kinds of additional output from 'make'.
          707  +case `$am_make -s -f confmf 2> /dev/null` in #(
          708  +*the\ am__doit\ target*)
          709  +  am__include=include
          710  +  am__quote=
          711  +  _am_result=GNU
          712  +  ;;
          713  +esac
          714  +# Now try BSD make style include.
          715  +if test "$am__include" = "#"; then
          716  +   echo '.include "confinc"' > confmf
          717  +   case `$am_make -s -f confmf 2> /dev/null` in #(
          718  +   *the\ am__doit\ target*)
          719  +     am__include=.include
          720  +     am__quote="\""
          721  +     _am_result=BSD
          722  +     ;;
          723  +   esac
          724  +fi
          725  +AC_SUBST([am__include])
          726  +AC_SUBST([am__quote])
          727  +AC_MSG_RESULT([$_am_result])
          728  +rm -f confinc confmf
          729  +])
          730  +
          731  +# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
          732  +
          733  +# Copyright (C) 1997-2013 Free Software Foundation, Inc.
          734  +#
          735  +# This file is free software; the Free Software Foundation
          736  +# gives unlimited permission to copy and/or distribute it,
          737  +# with or without modifications, as long as this notice is preserved.
          738  +
          739  +# AM_MISSING_PROG(NAME, PROGRAM)
          740  +# ------------------------------
          741  +AC_DEFUN([AM_MISSING_PROG],
          742  +[AC_REQUIRE([AM_MISSING_HAS_RUN])
          743  +$1=${$1-"${am_missing_run}$2"}
          744  +AC_SUBST($1)])
          745  +
          746  +# AM_MISSING_HAS_RUN
          747  +# ------------------
          748  +# Define MISSING if not defined so far and test if it is modern enough.
          749  +# If it is, set am_missing_run to use it, otherwise, to nothing.
          750  +AC_DEFUN([AM_MISSING_HAS_RUN],
          751  +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
          752  +AC_REQUIRE_AUX_FILE([missing])dnl
          753  +if test x"${MISSING+set}" != xset; then
          754  +  case $am_aux_dir in
          755  +  *\ * | *\	*)
          756  +    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
          757  +  *)
          758  +    MISSING="\${SHELL} $am_aux_dir/missing" ;;
          759  +  esac
          760  +fi
          761  +# Use eval to expand $SHELL
          762  +if eval "$MISSING --is-lightweight"; then
          763  +  am_missing_run="$MISSING "
          764  +else
          765  +  am_missing_run=
          766  +  AC_MSG_WARN(['missing' script is too old or missing])
          767  +fi
          768  +])
          769  +
          770  +#  -*- Autoconf -*-
          771  +# Obsolete and "removed" macros, that must however still report explicit
          772  +# error messages when used, to smooth transition.
          773  +#
          774  +# Copyright (C) 1996-2013 Free Software Foundation, Inc.
          775  +#
          776  +# This file is free software; the Free Software Foundation
          777  +# gives unlimited permission to copy and/or distribute it,
          778  +# with or without modifications, as long as this notice is preserved.
          779  +
          780  +AC_DEFUN([AM_CONFIG_HEADER],
          781  +[AC_DIAGNOSE([obsolete],
          782  +['$0': this macro is obsolete.
          783  +You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl
          784  +AC_CONFIG_HEADERS($@)])
          785  +
          786  +AC_DEFUN([AM_PROG_CC_STDC],
          787  +[AC_PROG_CC
          788  +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
          789  +AC_DIAGNOSE([obsolete],
          790  +['$0': this macro is obsolete.
          791  +You should simply use the 'AC][_PROG_CC' macro instead.
          792  +Also, your code should no longer depend upon 'am_cv_prog_cc_stdc',
          793  +but upon 'ac_cv_prog_cc_stdc'.])])
          794  +
          795  +AC_DEFUN([AM_C_PROTOTYPES],
          796  +         [AC_FATAL([automatic de-ANSI-fication support has been removed])])
          797  +AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
          798  +
          799  +# Helper functions for option handling.                     -*- Autoconf -*-
          800  +
          801  +# Copyright (C) 2001-2013 Free Software Foundation, Inc.
          802  +#
          803  +# This file is free software; the Free Software Foundation
          804  +# gives unlimited permission to copy and/or distribute it,
          805  +# with or without modifications, as long as this notice is preserved.
          806  +
          807  +# _AM_MANGLE_OPTION(NAME)
          808  +# -----------------------
          809  +AC_DEFUN([_AM_MANGLE_OPTION],
          810  +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
          811  +
          812  +# _AM_SET_OPTION(NAME)
          813  +# --------------------
          814  +# Set option NAME.  Presently that only means defining a flag for this option.
          815  +AC_DEFUN([_AM_SET_OPTION],
          816  +[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
          817  +
          818  +# _AM_SET_OPTIONS(OPTIONS)
          819  +# ------------------------
          820  +# OPTIONS is a space-separated list of Automake options.
          821  +AC_DEFUN([_AM_SET_OPTIONS],
          822  +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
          823  +
          824  +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
          825  +# -------------------------------------------
          826  +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
          827  +AC_DEFUN([_AM_IF_OPTION],
          828  +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
          829  +
          830  +# Copyright (C) 1999-2013 Free Software Foundation, Inc.
          831  +#
          832  +# This file is free software; the Free Software Foundation
          833  +# gives unlimited permission to copy and/or distribute it,
          834  +# with or without modifications, as long as this notice is preserved.
          835  +
          836  +# _AM_PROG_CC_C_O
          837  +# ---------------
          838  +# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
          839  +# to automatically call this.
          840  +AC_DEFUN([_AM_PROG_CC_C_O],
          841  +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
          842  +AC_REQUIRE_AUX_FILE([compile])dnl
          843  +AC_LANG_PUSH([C])dnl
          844  +AC_CACHE_CHECK(
          845  +  [whether $CC understands -c and -o together],
          846  +  [am_cv_prog_cc_c_o],
          847  +  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
          848  +  # Make sure it works both with $CC and with simple cc.
          849  +  # Following AC_PROG_CC_C_O, we do the test twice because some
          850  +  # compilers refuse to overwrite an existing .o file with -o,
          851  +  # though they will create one.
          852  +  am_cv_prog_cc_c_o=yes
          853  +  for am_i in 1 2; do
          854  +    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
          855  +         && test -f conftest2.$ac_objext; then
          856  +      : OK
          857  +    else
          858  +      am_cv_prog_cc_c_o=no
          859  +      break
          860  +    fi
          861  +  done
          862  +  rm -f core conftest*
          863  +  unset am_i])
          864  +if test "$am_cv_prog_cc_c_o" != yes; then
          865  +   # Losing compiler, so override with the script.
          866  +   # FIXME: It is wrong to rewrite CC.
          867  +   # But if we don't then we get into trouble of one sort or another.
          868  +   # A longer-term fix would be to have automake use am__CC in this case,
          869  +   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
          870  +   CC="$am_aux_dir/compile $CC"
          871  +fi
          872  +AC_LANG_POP([C])])
          873  +
          874  +# For backward compatibility.
          875  +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
          876  +
          877  +# Copyright (C) 2001-2013 Free Software Foundation, Inc.
          878  +#
          879  +# This file is free software; the Free Software Foundation
          880  +# gives unlimited permission to copy and/or distribute it,
          881  +# with or without modifications, as long as this notice is preserved.
          882  +
          883  +# AM_RUN_LOG(COMMAND)
          884  +# -------------------
          885  +# Run COMMAND, save the exit status in ac_status, and log it.
          886  +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
          887  +AC_DEFUN([AM_RUN_LOG],
          888  +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
          889  +   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
          890  +   ac_status=$?
          891  +   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
          892  +   (exit $ac_status); }])
          893  +
          894  +# Check to make sure that the build environment is sane.    -*- Autoconf -*-
          895  +
          896  +# Copyright (C) 1996-2013 Free Software Foundation, Inc.
          897  +#
          898  +# This file is free software; the Free Software Foundation
          899  +# gives unlimited permission to copy and/or distribute it,
          900  +# with or without modifications, as long as this notice is preserved.
          901  +
          902  +# AM_SANITY_CHECK
          903  +# ---------------
          904  +AC_DEFUN([AM_SANITY_CHECK],
          905  +[AC_MSG_CHECKING([whether build environment is sane])
          906  +# Reject unsafe characters in $srcdir or the absolute working directory
          907  +# name.  Accept space and tab only in the latter.
          908  +am_lf='
          909  +'
          910  +case `pwd` in
          911  +  *[[\\\"\#\$\&\'\`$am_lf]]*)
          912  +    AC_MSG_ERROR([unsafe absolute working directory name]);;
          913  +esac
          914  +case $srcdir in
          915  +  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
          916  +    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
          917  +esac
          918  +
          919  +# Do 'set' in a subshell so we don't clobber the current shell's
          920  +# arguments.  Must try -L first in case configure is actually a
          921  +# symlink; some systems play weird games with the mod time of symlinks
          922  +# (eg FreeBSD returns the mod time of the symlink's containing
          923  +# directory).
          924  +if (
          925  +   am_has_slept=no
          926  +   for am_try in 1 2; do
          927  +     echo "timestamp, slept: $am_has_slept" > conftest.file
          928  +     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
          929  +     if test "$[*]" = "X"; then
          930  +	# -L didn't work.
          931  +	set X `ls -t "$srcdir/configure" conftest.file`
          932  +     fi
          933  +     if test "$[*]" != "X $srcdir/configure conftest.file" \
          934  +	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
          935  +
          936  +	# If neither matched, then we have a broken ls.  This can happen
          937  +	# if, for instance, CONFIG_SHELL is bash and it inherits a
          938  +	# broken ls alias from the environment.  This has actually
          939  +	# happened.  Such a system could not be considered "sane".
          940  +	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
          941  +  alias in your environment])
          942  +     fi
          943  +     if test "$[2]" = conftest.file || test $am_try -eq 2; then
          944  +       break
          945  +     fi
          946  +     # Just in case.
          947  +     sleep 1
          948  +     am_has_slept=yes
          949  +   done
          950  +   test "$[2]" = conftest.file
          951  +   )
          952  +then
          953  +   # Ok.
          954  +   :
          955  +else
          956  +   AC_MSG_ERROR([newly created file is older than distributed files!
          957  +Check your system clock])
          958  +fi
          959  +AC_MSG_RESULT([yes])
          960  +# If we didn't sleep, we still need to ensure time stamps of config.status and
          961  +# generated files are strictly newer.
          962  +am_sleep_pid=
          963  +if grep 'slept: no' conftest.file >/dev/null 2>&1; then
          964  +  ( sleep 1 ) &
          965  +  am_sleep_pid=$!
          966  +fi
          967  +AC_CONFIG_COMMANDS_PRE(
          968  +  [AC_MSG_CHECKING([that generated files are newer than configure])
          969  +   if test -n "$am_sleep_pid"; then
          970  +     # Hide warnings about reused PIDs.
          971  +     wait $am_sleep_pid 2>/dev/null
          972  +   fi
          973  +   AC_MSG_RESULT([done])])
          974  +rm -f conftest.file
          975  +])
          976  +
          977  +# Copyright (C) 2009-2013 Free Software Foundation, Inc.
          978  +#
          979  +# This file is free software; the Free Software Foundation
          980  +# gives unlimited permission to copy and/or distribute it,
          981  +# with or without modifications, as long as this notice is preserved.
          982  +
          983  +# AM_SILENT_RULES([DEFAULT])
          984  +# --------------------------
          985  +# Enable less verbose build rules; with the default set to DEFAULT
          986  +# ("yes" being less verbose, "no" or empty being verbose).
          987  +AC_DEFUN([AM_SILENT_RULES],
          988  +[AC_ARG_ENABLE([silent-rules], [dnl
          989  +AS_HELP_STRING(
          990  +  [--enable-silent-rules],
          991  +  [less verbose build output (undo: "make V=1")])
          992  +AS_HELP_STRING(
          993  +  [--disable-silent-rules],
          994  +  [verbose build output (undo: "make V=0")])dnl
          995  +])
          996  +case $enable_silent_rules in @%:@ (((
          997  +  yes) AM_DEFAULT_VERBOSITY=0;;
          998  +   no) AM_DEFAULT_VERBOSITY=1;;
          999  +    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
         1000  +esac
         1001  +dnl
         1002  +dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
         1003  +dnl do not support nested variable expansions.
         1004  +dnl See automake bug#9928 and bug#10237.
         1005  +am_make=${MAKE-make}
         1006  +AC_CACHE_CHECK([whether $am_make supports nested variables],
         1007  +   [am_cv_make_support_nested_variables],
         1008  +   [if AS_ECHO([['TRUE=$(BAR$(V))
         1009  +BAR0=false
         1010  +BAR1=true
         1011  +V=1
         1012  +am__doit:
         1013  +	@$(TRUE)
         1014  +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
         1015  +  am_cv_make_support_nested_variables=yes
         1016  +else
         1017  +  am_cv_make_support_nested_variables=no
         1018  +fi])
         1019  +if test $am_cv_make_support_nested_variables = yes; then
         1020  +  dnl Using '$V' instead of '$(V)' breaks IRIX make.
         1021  +  AM_V='$(V)'
         1022  +  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
         1023  +else
         1024  +  AM_V=$AM_DEFAULT_VERBOSITY
         1025  +  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
         1026  +fi
         1027  +AC_SUBST([AM_V])dnl
         1028  +AM_SUBST_NOTMAKE([AM_V])dnl
         1029  +AC_SUBST([AM_DEFAULT_V])dnl
         1030  +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
         1031  +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
         1032  +AM_BACKSLASH='\'
         1033  +AC_SUBST([AM_BACKSLASH])dnl
         1034  +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
         1035  +])
         1036  +
         1037  +# Copyright (C) 2001-2013 Free Software Foundation, Inc.
         1038  +#
         1039  +# This file is free software; the Free Software Foundation
         1040  +# gives unlimited permission to copy and/or distribute it,
         1041  +# with or without modifications, as long as this notice is preserved.
         1042  +
         1043  +# AM_PROG_INSTALL_STRIP
         1044  +# ---------------------
         1045  +# One issue with vendor 'install' (even GNU) is that you can't
         1046  +# specify the program used to strip binaries.  This is especially
         1047  +# annoying in cross-compiling environments, where the build's strip
         1048  +# is unlikely to handle the host's binaries.
         1049  +# Fortunately install-sh will honor a STRIPPROG variable, so we
         1050  +# always use install-sh in "make install-strip", and initialize
         1051  +# STRIPPROG with the value of the STRIP variable (set by the user).
         1052  +AC_DEFUN([AM_PROG_INSTALL_STRIP],
         1053  +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
         1054  +# Installed binaries are usually stripped using 'strip' when the user
         1055  +# run "make install-strip".  However 'strip' might not be the right
         1056  +# tool to use in cross-compilation environments, therefore Automake
         1057  +# will honor the 'STRIP' environment variable to overrule this program.
         1058  +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
         1059  +if test "$cross_compiling" != no; then
         1060  +  AC_CHECK_TOOL([STRIP], [strip], :)
         1061  +fi
         1062  +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
         1063  +AC_SUBST([INSTALL_STRIP_PROGRAM])])
         1064  +
         1065  +# Copyright (C) 2006-2013 Free Software Foundation, Inc.
         1066  +#
         1067  +# This file is free software; the Free Software Foundation
         1068  +# gives unlimited permission to copy and/or distribute it,
         1069  +# with or without modifications, as long as this notice is preserved.
         1070  +
         1071  +# _AM_SUBST_NOTMAKE(VARIABLE)
         1072  +# ---------------------------
         1073  +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
         1074  +# This macro is traced by Automake.
         1075  +AC_DEFUN([_AM_SUBST_NOTMAKE])
         1076  +
         1077  +# AM_SUBST_NOTMAKE(VARIABLE)
         1078  +# --------------------------
         1079  +# Public sister of _AM_SUBST_NOTMAKE.
         1080  +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
         1081  +
         1082  +# Check how to create a tarball.                            -*- Autoconf -*-
         1083  +
         1084  +# Copyright (C) 2004-2013 Free Software Foundation, Inc.
         1085  +#
         1086  +# This file is free software; the Free Software Foundation
         1087  +# gives unlimited permission to copy and/or distribute it,
         1088  +# with or without modifications, as long as this notice is preserved.
         1089  +
         1090  +# _AM_PROG_TAR(FORMAT)
         1091  +# --------------------
         1092  +# Check how to create a tarball in format FORMAT.
         1093  +# FORMAT should be one of 'v7', 'ustar', or 'pax'.
         1094  +#
         1095  +# Substitute a variable $(am__tar) that is a command
         1096  +# writing to stdout a FORMAT-tarball containing the directory
         1097  +# $tardir.
         1098  +#     tardir=directory && $(am__tar) > result.tar
         1099  +#
         1100  +# Substitute a variable $(am__untar) that extract such
         1101  +# a tarball read from stdin.
         1102  +#     $(am__untar) < result.tar
         1103  +#
         1104  +AC_DEFUN([_AM_PROG_TAR],
         1105  +[# Always define AMTAR for backward compatibility.  Yes, it's still used
         1106  +# in the wild :-(  We should find a proper way to deprecate it ...
         1107  +AC_SUBST([AMTAR], ['$${TAR-tar}'])
         1108  +
         1109  +# We'll loop over all known methods to create a tar archive until one works.
         1110  +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
         1111  +
         1112  +m4_if([$1], [v7],
         1113  +  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
         1114  +
         1115  +  [m4_case([$1],
         1116  +    [ustar],
         1117  +     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
         1118  +      # There is notably a 21 bits limit for the UID and the GID.  In fact,
         1119  +      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
         1120  +      # and bug#13588).
         1121  +      am_max_uid=2097151 # 2^21 - 1
         1122  +      am_max_gid=$am_max_uid
         1123  +      # The $UID and $GID variables are not portable, so we need to resort
         1124  +      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
         1125  +      # below are definitely unexpected, so allow the users to see them
         1126  +      # (that is, avoid stderr redirection).
         1127  +      am_uid=`id -u || echo unknown`
         1128  +      am_gid=`id -g || echo unknown`
         1129  +      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
         1130  +      if test $am_uid -le $am_max_uid; then
         1131  +         AC_MSG_RESULT([yes])
         1132  +      else
         1133  +         AC_MSG_RESULT([no])
         1134  +         _am_tools=none
         1135  +      fi
         1136  +      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
         1137  +      if test $am_gid -le $am_max_gid; then
         1138  +         AC_MSG_RESULT([yes])
         1139  +      else
         1140  +        AC_MSG_RESULT([no])
         1141  +        _am_tools=none
         1142  +      fi],
         1143  +
         1144  +  [pax],
         1145  +    [],
         1146  +
         1147  +  [m4_fatal([Unknown tar format])])
         1148  +
         1149  +  AC_MSG_CHECKING([how to create a $1 tar archive])
         1150  +
         1151  +  # Go ahead even if we have the value already cached.  We do so because we
         1152  +  # need to set the values for the 'am__tar' and 'am__untar' variables.
         1153  +  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
         1154  +
         1155  +  for _am_tool in $_am_tools; do
         1156  +    case $_am_tool in
         1157  +    gnutar)
         1158  +      for _am_tar in tar gnutar gtar; do
         1159  +        AM_RUN_LOG([$_am_tar --version]) && break
         1160  +      done
         1161  +      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
         1162  +      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
         1163  +      am__untar="$_am_tar -xf -"
         1164  +      ;;
         1165  +    plaintar)
         1166  +      # Must skip GNU tar: if it does not support --format= it doesn't create
         1167  +      # ustar tarball either.
         1168  +      (tar --version) >/dev/null 2>&1 && continue
         1169  +      am__tar='tar chf - "$$tardir"'
         1170  +      am__tar_='tar chf - "$tardir"'
         1171  +      am__untar='tar xf -'
         1172  +      ;;
         1173  +    pax)
         1174  +      am__tar='pax -L -x $1 -w "$$tardir"'
         1175  +      am__tar_='pax -L -x $1 -w "$tardir"'
         1176  +      am__untar='pax -r'
         1177  +      ;;
         1178  +    cpio)
         1179  +      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
         1180  +      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
         1181  +      am__untar='cpio -i -H $1 -d'
         1182  +      ;;
         1183  +    none)
         1184  +      am__tar=false
         1185  +      am__tar_=false
         1186  +      am__untar=false
         1187  +      ;;
         1188  +    esac
         1189  +
         1190  +    # If the value was cached, stop now.  We just wanted to have am__tar
         1191  +    # and am__untar set.
         1192  +    test -n "${am_cv_prog_tar_$1}" && break
         1193  +
         1194  +    # tar/untar a dummy directory, and stop if the command works.
         1195  +    rm -rf conftest.dir
         1196  +    mkdir conftest.dir
         1197  +    echo GrepMe > conftest.dir/file
         1198  +    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
         1199  +    rm -rf conftest.dir
         1200  +    if test -s conftest.tar; then
         1201  +      AM_RUN_LOG([$am__untar <conftest.tar])
         1202  +      AM_RUN_LOG([cat conftest.dir/file])
         1203  +      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
         1204  +    fi
         1205  +  done
         1206  +  rm -rf conftest.dir
         1207  +
         1208  +  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
         1209  +  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
         1210  +
         1211  +AC_SUBST([am__tar])
         1212  +AC_SUBST([am__untar])
         1213  +]) # _AM_PROG_TAR
         1214  +
         1215  +m4_include([m4/libtool.m4])
         1216  +m4_include([m4/ltoptions.m4])
         1217  +m4_include([m4/ltsugar.m4])
         1218  +m4_include([m4/ltversion.m4])
         1219  +m4_include([m4/lt~obsolete.m4])

Added compile.

            1  +#! /bin/sh
            2  +# Wrapper for compilers which do not understand '-c -o'.
            3  +
            4  +scriptversion=2012-10-14.11; # UTC
            5  +
            6  +# Copyright (C) 1999-2013 Free Software Foundation, Inc.
            7  +# Written by Tom Tromey <tromey@cygnus.com>.
            8  +#
            9  +# This program is free software; you can redistribute it and/or modify
           10  +# it under the terms of the GNU General Public License as published by
           11  +# the Free Software Foundation; either version 2, or (at your option)
           12  +# any later version.
           13  +#
           14  +# This program is distributed in the hope that it will be useful,
           15  +# but WITHOUT ANY WARRANTY; without even the implied warranty of
           16  +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           17  +# GNU General Public License for more details.
           18  +#
           19  +# You should have received a copy of the GNU General Public License
           20  +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
           21  +
           22  +# As a special exception to the GNU General Public License, if you
           23  +# distribute this file as part of a program that contains a
           24  +# configuration script generated by Autoconf, you may include it under
           25  +# the same distribution terms that you use for the rest of that program.
           26  +
           27  +# This file is maintained in Automake, please report
           28  +# bugs to <bug-automake@gnu.org> or send patches to
           29  +# <automake-patches@gnu.org>.
           30  +
           31  +nl='
           32  +'
           33  +
           34  +# We need space, tab and new line, in precisely that order.  Quoting is
           35  +# there to prevent tools from complaining about whitespace usage.
           36  +IFS=" ""	$nl"
           37  +
           38  +file_conv=
           39  +
           40  +# func_file_conv build_file lazy
           41  +# Convert a $build file to $host form and store it in $file
           42  +# Currently only supports Windows hosts. If the determined conversion
           43  +# type is listed in (the comma separated) LAZY, no conversion will
           44  +# take place.
           45  +func_file_conv ()
           46  +{
           47  +  file=$1
           48  +  case $file in
           49  +    / | /[!/]*) # absolute file, and not a UNC file
           50  +      if test -z "$file_conv"; then
           51  +	# lazily determine how to convert abs files
           52  +	case `uname -s` in
           53  +	  MINGW*)
           54  +	    file_conv=mingw
           55  +	    ;;
           56  +	  CYGWIN*)
           57  +	    file_conv=cygwin
           58  +	    ;;
           59  +	  *)
           60  +	    file_conv=wine
           61  +	    ;;
           62  +	esac
           63  +      fi
           64  +      case $file_conv/,$2, in
           65  +	*,$file_conv,*)
           66  +	  ;;
           67  +	mingw/*)
           68  +	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
           69  +	  ;;
           70  +	cygwin/*)
           71  +	  file=`cygpath -m "$file" || echo "$file"`
           72  +	  ;;
           73  +	wine/*)
           74  +	  file=`winepath -w "$file" || echo "$file"`
           75  +	  ;;
           76  +      esac
           77  +      ;;
           78  +  esac
           79  +}
           80  +
           81  +# func_cl_dashL linkdir
           82  +# Make cl look for libraries in LINKDIR
           83  +func_cl_dashL ()
           84  +{
           85  +  func_file_conv "$1"
           86  +  if test -z "$lib_path"; then
           87  +    lib_path=$file
           88  +  else
           89  +    lib_path="$lib_path;$file"
           90  +  fi
           91  +  linker_opts="$linker_opts -LIBPATH:$file"
           92  +}
           93  +
           94  +# func_cl_dashl library
           95  +# Do a library search-path lookup for cl
           96  +func_cl_dashl ()
           97  +{
           98  +  lib=$1
           99  +  found=no
          100  +  save_IFS=$IFS
          101  +  IFS=';'
          102  +  for dir in $lib_path $LIB
          103  +  do
          104  +    IFS=$save_IFS
          105  +    if $shared && test -f "$dir/$lib.dll.lib"; then
          106  +      found=yes
          107  +      lib=$dir/$lib.dll.lib
          108  +      break
          109  +    fi
          110  +    if test -f "$dir/$lib.lib"; then
          111  +      found=yes
          112  +      lib=$dir/$lib.lib
          113  +      break
          114  +    fi
          115  +    if test -f "$dir/lib$lib.a"; then
          116  +      found=yes
          117  +      lib=$dir/lib$lib.a
          118  +      break
          119  +    fi
          120  +  done
          121  +  IFS=$save_IFS
          122  +
          123  +  if test "$found" != yes; then
          124  +    lib=$lib.lib
          125  +  fi
          126  +}
          127  +
          128  +# func_cl_wrapper cl arg...
          129  +# Adjust compile command to suit cl
          130  +func_cl_wrapper ()
          131  +{
          132  +  # Assume a capable shell
          133  +  lib_path=
          134  +  shared=:
          135  +  linker_opts=
          136  +  for arg
          137  +  do
          138  +    if test -n "$eat"; then
          139  +      eat=
          140  +    else
          141  +      case $1 in
          142  +	-o)
          143  +	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
          144  +	  eat=1
          145  +	  case $2 in
          146  +	    *.o | *.[oO][bB][jJ])
          147  +	      func_file_conv "$2"
          148  +	      set x "$@" -Fo"$file"
          149  +	      shift
          150  +	      ;;
          151  +	    *)
          152  +	      func_file_conv "$2"
          153  +	      set x "$@" -Fe"$file"
          154  +	      shift
          155  +	      ;;
          156  +	  esac
          157  +	  ;;
          158  +	-I)
          159  +	  eat=1
          160  +	  func_file_conv "$2" mingw
          161  +	  set x "$@" -I"$file"
          162  +	  shift
          163  +	  ;;
          164  +	-I*)
          165  +	  func_file_conv "${1#-I}" mingw
          166  +	  set x "$@" -I"$file"
          167  +	  shift
          168  +	  ;;
          169  +	-l)
          170  +	  eat=1
          171  +	  func_cl_dashl "$2"
          172  +	  set x "$@" "$lib"
          173  +	  shift
          174  +	  ;;
          175  +	-l*)
          176  +	  func_cl_dashl "${1#-l}"
          177  +	  set x "$@" "$lib"
          178  +	  shift
          179  +	  ;;
          180  +	-L)
          181  +	  eat=1
          182  +	  func_cl_dashL "$2"
          183  +	  ;;
          184  +	-L*)
          185  +	  func_cl_dashL "${1#-L}"
          186  +	  ;;
          187  +	-static)
          188  +	  shared=false
          189  +	  ;;
          190  +	-Wl,*)
          191  +	  arg=${1#-Wl,}
          192  +	  save_ifs="$IFS"; IFS=','
          193  +	  for flag in $arg; do
          194  +	    IFS="$save_ifs"
          195  +	    linker_opts="$linker_opts $flag"
          196  +	  done
          197  +	  IFS="$save_ifs"
          198  +	  ;;
          199  +	-Xlinker)
          200  +	  eat=1
          201  +	  linker_opts="$linker_opts $2"
          202  +	  ;;
          203  +	-*)
          204  +	  set x "$@" "$1"
          205  +	  shift
          206  +	  ;;
          207  +	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
          208  +	  func_file_conv "$1"
          209  +	  set x "$@" -Tp"$file"
          210  +	  shift
          211  +	  ;;
          212  +	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
          213  +	  func_file_conv "$1" mingw
          214  +	  set x "$@" "$file"
          215  +	  shift
          216  +	  ;;
          217  +	*)
          218  +	  set x "$@" "$1"
          219  +	  shift
          220  +	  ;;
          221  +      esac
          222  +    fi
          223  +    shift
          224  +  done
          225  +  if test -n "$linker_opts"; then
          226  +    linker_opts="-link$linker_opts"
          227  +  fi
          228  +  exec "$@" $linker_opts
          229  +  exit 1
          230  +}
          231  +
          232  +eat=
          233  +
          234  +case $1 in
          235  +  '')
          236  +     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
          237  +     exit 1;
          238  +     ;;
          239  +  -h | --h*)
          240  +    cat <<\EOF
          241  +Usage: compile [--help] [--version] PROGRAM [ARGS]
          242  +
          243  +Wrapper for compilers which do not understand '-c -o'.
          244  +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
          245  +arguments, and rename the output as expected.
          246  +
          247  +If you are trying to build a whole package this is not the
          248  +right script to run: please start by reading the file 'INSTALL'.
          249  +
          250  +Report bugs to <bug-automake@gnu.org>.
          251  +EOF
          252  +    exit $?
          253  +    ;;
          254  +  -v | --v*)
          255  +    echo "compile $scriptversion"
          256  +    exit $?
          257  +    ;;
          258  +  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
          259  +    func_cl_wrapper "$@"      # Doesn't return...
          260  +    ;;
          261  +esac
          262  +
          263  +ofile=
          264  +cfile=
          265  +
          266  +for arg
          267  +do
          268  +  if test -n "$eat"; then
          269  +    eat=
          270  +  else
          271  +    case $1 in
          272  +      -o)
          273  +	# configure might choose to run compile as 'compile cc -o foo foo.c'.
          274  +	# So we strip '-o arg' only if arg is an object.
          275  +	eat=1
          276  +	case $2 in
          277  +	  *.o | *.obj)
          278  +	    ofile=$2
          279  +	    ;;
          280  +	  *)
          281  +	    set x "$@" -o "$2"
          282  +	    shift
          283  +	    ;;
          284  +	esac
          285  +	;;
          286  +      *.c)
          287  +	cfile=$1
          288  +	set x "$@" "$1"
          289  +	shift
          290  +	;;
          291  +      *)
          292  +	set x "$@" "$1"
          293  +	shift
          294  +	;;
          295  +    esac
          296  +  fi
          297  +  shift
          298  +done
          299  +
          300  +if test -z "$ofile" || test -z "$cfile"; then
          301  +  # If no '-o' option was seen then we might have been invoked from a
          302  +  # pattern rule where we don't need one.  That is ok -- this is a
          303  +  # normal compilation that the losing compiler can handle.  If no
          304  +  # '.c' file was seen then we are probably linking.  That is also
          305  +  # ok.
          306  +  exec "$@"
          307  +fi
          308  +
          309  +# Name of file we expect compiler to create.
          310  +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
          311  +
          312  +# Create the lock directory.
          313  +# Note: use '[/\\:.-]' here to ensure that we don't use the same name
          314  +# that we are using for the .o file.  Also, base the name on the expected
          315  +# object file name, since that is what matters with a parallel build.
          316  +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
          317  +while true; do
          318  +  if mkdir "$lockdir" >/dev/null 2>&1; then
          319  +    break
          320  +  fi
          321  +  sleep 1
          322  +done
          323  +# FIXME: race condition here if user kills between mkdir and trap.
          324  +trap "rmdir '$lockdir'; exit 1" 1 2 15
          325  +
          326  +# Run the compile.
          327  +"$@"
          328  +ret=$?
          329  +
          330  +if test -f "$cofile"; then
          331  +  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
          332  +elif test -f "${cofile}bj"; then
          333  +  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
          334  +fi
          335  +
          336  +rmdir "$lockdir"
          337  +exit $ret
          338  +
          339  +# Local Variables:
          340  +# mode: shell-script
          341  +# sh-indentation: 2
          342  +# eval: (add-hook 'write-file-hooks 'time-stamp)
          343  +# time-stamp-start: "scriptversion="
          344  +# time-stamp-format: "%:y-%02m-%02d.%02H"
          345  +# time-stamp-time-zone: "UTC"
          346  +# time-stamp-end: "; # UTC"
          347  +# End:

Added config.guess.

            1  +#! /bin/sh
            2  +# Attempt to guess a canonical system name.
            3  +#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
            4  +#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
            5  +#   Free Software Foundation, Inc.
            6  +
            7  +timestamp='2009-11-20'
            8  +
            9  +# This file is free software; you can redistribute it and/or modify it
           10  +# under the terms of the GNU General Public License as published by
           11  +# the Free Software Foundation; either version 2 of the License, or
           12  +# (at your option) any later version.
           13  +#
           14  +# This program is distributed in the hope that it will be useful, but
           15  +# WITHOUT ANY WARRANTY; without even the implied warranty of
           16  +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
           17  +# General Public License for more details.
           18  +#
           19  +# You should have received a copy of the GNU General Public License
           20  +# along with this program; if not, write to the Free Software
           21  +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
           22  +# 02110-1301, USA.
           23  +#
           24  +# As a special exception to the GNU General Public License, if you
           25  +# distribute this file as part of a program that contains a
           26  +# configuration script generated by Autoconf, you may include it under
           27  +# the same distribution terms that you use for the rest of that program.
           28  +
           29  +
           30  +# Originally written by Per Bothner.  Please send patches (context
           31  +# diff format) to <config-patches@gnu.org> and include a ChangeLog
           32  +# entry.
           33  +#
           34  +# This script attempts to guess a canonical system name similar to
           35  +# config.sub.  If it succeeds, it prints the system name on stdout, and
           36  +# exits with 0.  Otherwise, it exits with 1.
           37  +#
           38  +# You can get the latest version of this script from:
           39  +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
           40  +
           41  +me=`echo "$0" | sed -e 's,.*/,,'`
           42  +
           43  +usage="\
           44  +Usage: $0 [OPTION]
           45  +
           46  +Output the configuration name of the system \`$me' is run on.
           47  +
           48  +Operation modes:
           49  +  -h, --help         print this help, then exit
           50  +  -t, --time-stamp   print date of last modification, then exit
           51  +  -v, --version      print version number, then exit
           52  +
           53  +Report bugs and patches to <config-patches@gnu.org>."
           54  +
           55  +version="\
           56  +GNU config.guess ($timestamp)
           57  +
           58  +Originally written by Per Bothner.
           59  +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
           60  +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
           61  +
           62  +This is free software; see the source for copying conditions.  There is NO
           63  +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
           64  +
           65  +help="
           66  +Try \`$me --help' for more information."
           67  +
           68  +# Parse command line
           69  +while test $# -gt 0 ; do
           70  +  case $1 in
           71  +    --time-stamp | --time* | -t )
           72  +       echo "$timestamp" ; exit ;;
           73  +    --version | -v )
           74  +       echo "$version" ; exit ;;
           75  +    --help | --h* | -h )
           76  +       echo "$usage"; exit ;;
           77  +    -- )     # Stop option processing
           78  +       shift; break ;;
           79  +    - )	# Use stdin as input.
           80  +       break ;;
           81  +    -* )
           82  +       echo "$me: invalid option $1$help" >&2
           83  +       exit 1 ;;
           84  +    * )
           85  +       break ;;
           86  +  esac
           87  +done
           88  +
           89  +if test $# != 0; then
           90  +  echo "$me: too many arguments$help" >&2
           91  +  exit 1
           92  +fi
           93  +
           94  +trap 'exit 1' 1 2 15
           95  +
           96  +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
           97  +# compiler to aid in system detection is discouraged as it requires
           98  +# temporary files to be created and, as you can see below, it is a
           99  +# headache to deal with in a portable fashion.
          100  +
          101  +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
          102  +# use `HOST_CC' if defined, but it is deprecated.
          103  +
          104  +# Portable tmp directory creation inspired by the Autoconf team.
          105  +
          106  +set_cc_for_build='
          107  +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
          108  +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
          109  +: ${TMPDIR=/tmp} ;
          110  + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
          111  + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
          112  + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
          113  + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
          114  +dummy=$tmp/dummy ;
          115  +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
          116  +case $CC_FOR_BUILD,$HOST_CC,$CC in
          117  + ,,)    echo "int x;" > $dummy.c ;
          118  +	for c in cc gcc c89 c99 ; do
          119  +	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
          120  +	     CC_FOR_BUILD="$c"; break ;
          121  +	  fi ;
          122  +	done ;
          123  +	if test x"$CC_FOR_BUILD" = x ; then
          124  +	  CC_FOR_BUILD=no_compiler_found ;
          125  +	fi
          126  +	;;
          127  + ,,*)   CC_FOR_BUILD=$CC ;;
          128  + ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
          129  +esac ; set_cc_for_build= ;'
          130  +
          131  +# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
          132  +# (ghazi@noc.rutgers.edu 1994-08-24)
          133  +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
          134  +	PATH=$PATH:/.attbin ; export PATH
          135  +fi
          136  +
          137  +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
          138  +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
          139  +UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
          140  +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
          141  +
          142  +# Note: order is significant - the case branches are not exclusive.
          143  +
          144  +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
          145  +    *:NetBSD:*:*)
          146  +	# NetBSD (nbsd) targets should (where applicable) match one or
          147  +	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
          148  +	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
          149  +	# switched to ELF, *-*-netbsd* would select the old
          150  +	# object file format.  This provides both forward
          151  +	# compatibility and a consistent mechanism for selecting the
          152  +	# object file format.
          153  +	#
          154  +	# Note: NetBSD doesn't particularly care about the vendor
          155  +	# portion of the name.  We always set it to "unknown".
          156  +	sysctl="sysctl -n hw.machine_arch"
          157  +	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
          158  +	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
          159  +	case "${UNAME_MACHINE_ARCH}" in
          160  +	    armeb) machine=armeb-unknown ;;
          161  +	    arm*) machine=arm-unknown ;;
          162  +	    sh3el) machine=shl-unknown ;;
          163  +	    sh3eb) machine=sh-unknown ;;
          164  +	    sh5el) machine=sh5le-unknown ;;
          165  +	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
          166  +	esac
          167  +	# The Operating System including object format, if it has switched
          168  +	# to ELF recently, or will in the future.
          169  +	case "${UNAME_MACHINE_ARCH}" in
          170  +	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
          171  +		eval $set_cc_for_build
          172  +		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
          173  +			| grep -q __ELF__
          174  +		then
          175  +		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
          176  +		    # Return netbsd for either.  FIX?
          177  +		    os=netbsd
          178  +		else
          179  +		    os=netbsdelf
          180  +		fi
          181  +		;;
          182  +	    *)
          183  +	        os=netbsd
          184  +		;;
          185  +	esac
          186  +	# The OS release
          187  +	# Debian GNU/NetBSD machines have a different userland, and
          188  +	# thus, need a distinct triplet. However, they do not need
          189  +	# kernel version information, so it can be replaced with a
          190  +	# suitable tag, in the style of linux-gnu.
          191  +	case "${UNAME_VERSION}" in
          192  +	    Debian*)
          193  +		release='-gnu'
          194  +		;;
          195  +	    *)
          196  +		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
          197  +		;;
          198  +	esac
          199  +	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
          200  +	# contains redundant information, the shorter form:
          201  +	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
          202  +	echo "${machine}-${os}${release}"
          203  +	exit ;;
          204  +    *:OpenBSD:*:*)
          205  +	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
          206  +	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
          207  +	exit ;;
          208  +    *:ekkoBSD:*:*)
          209  +	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
          210  +	exit ;;
          211  +    *:SolidBSD:*:*)
          212  +	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
          213  +	exit ;;
          214  +    macppc:MirBSD:*:*)
          215  +	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
          216  +	exit ;;
          217  +    *:MirBSD:*:*)
          218  +	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
          219  +	exit ;;
          220  +    alpha:OSF1:*:*)
          221  +	case $UNAME_RELEASE in
          222  +	*4.0)
          223  +		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
          224  +		;;
          225  +	*5.*)
          226  +	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
          227  +		;;
          228  +	esac
          229  +	# According to Compaq, /usr/sbin/psrinfo has been available on
          230  +	# OSF/1 and Tru64 systems produced since 1995.  I hope that
          231  +	# covers most systems running today.  This code pipes the CPU
          232  +	# types through head -n 1, so we only detect the type of CPU 0.
          233  +	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
          234  +	case "$ALPHA_CPU_TYPE" in
          235  +	    "EV4 (21064)")
          236  +		UNAME_MACHINE="alpha" ;;
          237  +	    "EV4.5 (21064)")
          238  +		UNAME_MACHINE="alpha" ;;
          239  +	    "LCA4 (21066/21068)")
          240  +		UNAME_MACHINE="alpha" ;;
          241  +	    "EV5 (21164)")
          242  +		UNAME_MACHINE="alphaev5" ;;
          243  +	    "EV5.6 (21164A)")
          244  +		UNAME_MACHINE="alphaev56" ;;
          245  +	    "EV5.6 (21164PC)")
          246  +		UNAME_MACHINE="alphapca56" ;;
          247  +	    "EV5.7 (21164PC)")
          248  +		UNAME_MACHINE="alphapca57" ;;
          249  +	    "EV6 (21264)")
          250  +		UNAME_MACHINE="alphaev6" ;;
          251  +	    "EV6.7 (21264A)")
          252  +		UNAME_MACHINE="alphaev67" ;;
          253  +	    "EV6.8CB (21264C)")
          254  +		UNAME_MACHINE="alphaev68" ;;
          255  +	    "EV6.8AL (21264B)")
          256  +		UNAME_MACHINE="alphaev68" ;;
          257  +	    "EV6.8CX (21264D)")
          258  +		UNAME_MACHINE="alphaev68" ;;
          259  +	    "EV6.9A (21264/EV69A)")
          260  +		UNAME_MACHINE="alphaev69" ;;
          261  +	    "EV7 (21364)")
          262  +		UNAME_MACHINE="alphaev7" ;;
          263  +	    "EV7.9 (21364A)")
          264  +		UNAME_MACHINE="alphaev79" ;;
          265  +	esac
          266  +	# A Pn.n version is a patched version.
          267  +	# A Vn.n version is a released version.
          268  +	# A Tn.n version is a released field test version.
          269  +	# A Xn.n version is an unreleased experimental baselevel.
          270  +	# 1.2 uses "1.2" for uname -r.
          271  +	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
          272  +	exit ;;
          273  +    Alpha\ *:Windows_NT*:*)
          274  +	# How do we know it's Interix rather than the generic POSIX subsystem?
          275  +	# Should we change UNAME_MACHINE based on the output of uname instead
          276  +	# of the specific Alpha model?
          277  +	echo alpha-pc-interix
          278  +	exit ;;
          279  +    21064:Windows_NT:50:3)
          280  +	echo alpha-dec-winnt3.5
          281  +	exit ;;
          282  +    Amiga*:UNIX_System_V:4.0:*)
          283  +	echo m68k-unknown-sysv4
          284  +	exit ;;
          285  +    *:[Aa]miga[Oo][Ss]:*:*)
          286  +	echo ${UNAME_MACHINE}-unknown-amigaos
          287  +	exit ;;
          288  +    *:[Mm]orph[Oo][Ss]:*:*)
          289  +	echo ${UNAME_MACHINE}-unknown-morphos
          290  +	exit ;;
          291  +    *:OS/390:*:*)
          292  +	echo i370-ibm-openedition
          293  +	exit ;;
          294  +    *:z/VM:*:*)
          295  +	echo s390-ibm-zvmoe
          296  +	exit ;;
          297  +    *:OS400:*:*)
          298  +        echo powerpc-ibm-os400
          299  +	exit ;;
          300  +    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
          301  +	echo arm-acorn-riscix${UNAME_RELEASE}
          302  +	exit ;;
          303  +    arm:riscos:*:*|arm:RISCOS:*:*)
          304  +	echo arm-unknown-riscos
          305  +	exit ;;
          306  +    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
          307  +	echo hppa1.1-hitachi-hiuxmpp
          308  +	exit ;;
          309  +    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
          310  +	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
          311  +	if test "`(/bin/universe) 2>/dev/null`" = att ; then
          312  +		echo pyramid-pyramid-sysv3
          313  +	else
          314  +		echo pyramid-pyramid-bsd
          315  +	fi
          316  +	exit ;;
          317  +    NILE*:*:*:dcosx)
          318  +	echo pyramid-pyramid-svr4
          319  +	exit ;;
          320  +    DRS?6000:unix:4.0:6*)
          321  +	echo sparc-icl-nx6
          322  +	exit ;;
          323  +    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
          324  +	case `/usr/bin/uname -p` in
          325  +	    sparc) echo sparc-icl-nx7; exit ;;
          326  +	esac ;;
          327  +    s390x:SunOS:*:*)
          328  +	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
          329  +	exit ;;
          330  +    sun4H:SunOS:5.*:*)
          331  +	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
          332  +	exit ;;
          333  +    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
          334  +	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
          335  +	exit ;;
          336  +    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
          337  +	echo i386-pc-auroraux${UNAME_RELEASE}
          338  +	exit ;;
          339  +    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
          340  +	eval $set_cc_for_build
          341  +	SUN_ARCH="i386"
          342  +	# If there is a compiler, see if it is configured for 64-bit objects.
          343  +	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
          344  +	# This test works for both compilers.
          345  +	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
          346  +	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
          347  +		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
          348  +		grep IS_64BIT_ARCH >/dev/null
          349  +	    then
          350  +		SUN_ARCH="x86_64"
          351  +	    fi
          352  +	fi
          353  +	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
          354  +	exit ;;
          355  +    sun4*:SunOS:6*:*)
          356  +	# According to config.sub, this is the proper way to canonicalize
          357  +	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
          358  +	# it's likely to be more like Solaris than SunOS4.
          359  +	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
          360  +	exit ;;
          361  +    sun4*:SunOS:*:*)
          362  +	case "`/usr/bin/arch -k`" in
          363  +	    Series*|S4*)
          364  +		UNAME_RELEASE=`uname -v`
          365  +		;;
          366  +	esac
          367  +	# Japanese Language versions have a version number like `4.1.3-JL'.
          368  +	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
          369  +	exit ;;
          370  +    sun3*:SunOS:*:*)
          371  +	echo m68k-sun-sunos${UNAME_RELEASE}
          372  +	exit ;;
          373  +    sun*:*:4.2BSD:*)
          374  +	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
          375  +	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
          376  +	case "`/bin/arch`" in
          377  +	    sun3)
          378  +		echo m68k-sun-sunos${UNAME_RELEASE}
          379  +		;;
          380  +	    sun4)
          381  +		echo sparc-sun-sunos${UNAME_RELEASE}
          382  +		;;
          383  +	esac
          384  +	exit ;;
          385  +    aushp:SunOS:*:*)
          386  +	echo sparc-auspex-sunos${UNAME_RELEASE}
          387  +	exit ;;
          388  +    # The situation for MiNT is a little confusing.  The machine name
          389  +    # can be virtually everything (everything which is not
          390  +    # "atarist" or "atariste" at least should have a processor
          391  +    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
          392  +    # to the lowercase version "mint" (or "freemint").  Finally
          393  +    # the system name "TOS" denotes a system which is actually not
          394  +    # MiNT.  But MiNT is downward compatible to TOS, so this should
          395  +    # be no problem.
          396  +    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
          397  +        echo m68k-atari-mint${UNAME_RELEASE}
          398  +	exit ;;
          399  +    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
          400  +	echo m68k-atari-mint${UNAME_RELEASE}
          401  +        exit ;;
          402  +    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
          403  +        echo m68k-atari-mint${UNAME_RELEASE}
          404  +	exit ;;
          405  +    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
          406  +        echo m68k-milan-mint${UNAME_RELEASE}
          407  +        exit ;;
          408  +    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
          409  +        echo m68k-hades-mint${UNAME_RELEASE}
          410  +        exit ;;
          411  +    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
          412  +        echo m68k-unknown-mint${UNAME_RELEASE}
          413  +        exit ;;
          414  +    m68k:machten:*:*)
          415  +	echo m68k-apple-machten${UNAME_RELEASE}
          416  +	exit ;;
          417  +    powerpc:machten:*:*)
          418  +	echo powerpc-apple-machten${UNAME_RELEASE}
          419  +	exit ;;
          420  +    RISC*:Mach:*:*)
          421  +	echo mips-dec-mach_bsd4.3
          422  +	exit ;;
          423  +    RISC*:ULTRIX:*:*)
          424  +	echo mips-dec-ultrix${UNAME_RELEASE}
          425  +	exit ;;
          426  +    VAX*:ULTRIX*:*:*)
          427  +	echo vax-dec-ultrix${UNAME_RELEASE}
          428  +	exit ;;
          429  +    2020:CLIX:*:* | 2430:CLIX:*:*)
          430  +	echo clipper-intergraph-clix${UNAME_RELEASE}
          431  +	exit ;;
          432  +    mips:*:*:UMIPS | mips:*:*:RISCos)
          433  +	eval $set_cc_for_build
          434  +	sed 's/^	//' << EOF >$dummy.c
          435  +#ifdef __cplusplus
          436  +#include <stdio.h>  /* for printf() prototype */
          437  +	int main (int argc, char *argv[]) {
          438  +#else
          439  +	int main (argc, argv) int argc; char *argv[]; {
          440  +#endif
          441  +	#if defined (host_mips) && defined (MIPSEB)
          442  +	#if defined (SYSTYPE_SYSV)
          443  +	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
          444  +	#endif
          445  +	#if defined (SYSTYPE_SVR4)
          446  +	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
          447  +	#endif
          448  +	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
          449  +	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
          450  +	#endif
          451  +	#endif
          452  +	  exit (-1);
          453  +	}
          454  +EOF
          455  +	$CC_FOR_BUILD -o $dummy $dummy.c &&
          456  +	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
          457  +	  SYSTEM_NAME=`$dummy $dummyarg` &&
          458  +	    { echo "$SYSTEM_NAME"; exit; }
          459  +	echo mips-mips-riscos${UNAME_RELEASE}
          460  +	exit ;;
          461  +    Motorola:PowerMAX_OS:*:*)
          462  +	echo powerpc-motorola-powermax
          463  +	exit ;;
          464  +    Motorola:*:4.3:PL8-*)
          465  +	echo powerpc-harris-powermax
          466  +	exit ;;
          467  +    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
          468  +	echo powerpc-harris-powermax
          469  +	exit ;;
          470  +    Night_Hawk:Power_UNIX:*:*)
          471  +	echo powerpc-harris-powerunix
          472  +	exit ;;
          473  +    m88k:CX/UX:7*:*)
          474  +	echo m88k-harris-cxux7
          475  +	exit ;;
          476  +    m88k:*:4*:R4*)
          477  +	echo m88k-motorola-sysv4
          478  +	exit ;;
          479  +    m88k:*:3*:R3*)
          480  +	echo m88k-motorola-sysv3
          481  +	exit ;;
          482  +    AViiON:dgux:*:*)
          483  +        # DG/UX returns AViiON for all architectures
          484  +        UNAME_PROCESSOR=`/usr/bin/uname -p`
          485  +	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
          486  +	then
          487  +	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
          488  +	       [ ${TARGET_BINARY_INTERFACE}x = x ]
          489  +	    then
          490  +		echo m88k-dg-dgux${UNAME_RELEASE}
          491  +	    else
          492  +		echo m88k-dg-dguxbcs${UNAME_RELEASE}
          493  +	    fi
          494  +	else
          495  +	    echo i586-dg-dgux${UNAME_RELEASE}
          496  +	fi
          497  + 	exit ;;
          498  +    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
          499  +	echo m88k-dolphin-sysv3
          500  +	exit ;;
          501  +    M88*:*:R3*:*)
          502  +	# Delta 88k system running SVR3
          503  +	echo m88k-motorola-sysv3
          504  +	exit ;;
          505  +    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
          506  +	echo m88k-tektronix-sysv3
          507  +	exit ;;
          508  +    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
          509  +	echo m68k-tektronix-bsd
          510  +	exit ;;
          511  +    *:IRIX*:*:*)
          512  +	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
          513  +	exit ;;
          514  +    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
          515  +	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
          516  +	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
          517  +    i*86:AIX:*:*)
          518  +	echo i386-ibm-aix
          519  +	exit ;;
          520  +    ia64:AIX:*:*)
          521  +	if [ -x /usr/bin/oslevel ] ; then
          522  +		IBM_REV=`/usr/bin/oslevel`
          523  +	else
          524  +		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
          525  +	fi
          526  +	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
          527  +	exit ;;
          528  +    *:AIX:2:3)
          529  +	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
          530  +		eval $set_cc_for_build
          531  +		sed 's/^		//' << EOF >$dummy.c
          532  +		#include <sys/systemcfg.h>
          533  +
          534  +		main()
          535  +			{
          536  +			if (!__power_pc())
          537  +				exit(1);
          538  +			puts("powerpc-ibm-aix3.2.5");
          539  +			exit(0);
          540  +			}
          541  +EOF
          542  +		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
          543  +		then
          544  +			echo "$SYSTEM_NAME"
          545  +		else
          546  +			echo rs6000-ibm-aix3.2.5
          547  +		fi
          548  +	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
          549  +		echo rs6000-ibm-aix3.2.4
          550  +	else
          551  +		echo rs6000-ibm-aix3.2
          552  +	fi
          553  +	exit ;;
          554  +    *:AIX:*:[456])
          555  +	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
          556  +	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
          557  +		IBM_ARCH=rs6000
          558  +	else
          559  +		IBM_ARCH=powerpc
          560  +	fi
          561  +	if [ -x /usr/bin/oslevel ] ; then
          562  +		IBM_REV=`/usr/bin/oslevel`
          563  +	else
          564  +		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
          565  +	fi
          566  +	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
          567  +	exit ;;
          568  +    *:AIX:*:*)
          569  +	echo rs6000-ibm-aix
          570  +	exit ;;
          571  +    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
          572  +	echo romp-ibm-bsd4.4
          573  +	exit ;;
          574  +    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
          575  +	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
          576  +	exit ;;                             # report: romp-ibm BSD 4.3
          577  +    *:BOSX:*:*)
          578  +	echo rs6000-bull-bosx
          579  +	exit ;;
          580  +    DPX/2?00:B.O.S.:*:*)
          581  +	echo m68k-bull-sysv3
          582  +	exit ;;
          583  +    9000/[34]??:4.3bsd:1.*:*)
          584  +	echo m68k-hp-bsd
          585  +	exit ;;
          586  +    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
          587  +	echo m68k-hp-bsd4.4
          588  +	exit ;;
          589  +    9000/[34678]??:HP-UX:*:*)
          590  +	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
          591  +	case "${UNAME_MACHINE}" in
          592  +	    9000/31? )            HP_ARCH=m68000 ;;
          593  +	    9000/[34]?? )         HP_ARCH=m68k ;;
          594  +	    9000/[678][0-9][0-9])
          595  +		if [ -x /usr/bin/getconf ]; then
          596  +		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
          597  +                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
          598  +                    case "${sc_cpu_version}" in
          599  +                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
          600  +                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
          601  +                      532)                      # CPU_PA_RISC2_0
          602  +                        case "${sc_kernel_bits}" in
          603  +                          32) HP_ARCH="hppa2.0n" ;;
          604  +                          64) HP_ARCH="hppa2.0w" ;;
          605  +			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
          606  +                        esac ;;
          607  +                    esac
          608  +		fi
          609  +		if [ "${HP_ARCH}" = "" ]; then
          610  +		    eval $set_cc_for_build
          611  +		    sed 's/^              //' << EOF >$dummy.c
          612  +
          613  +              #define _HPUX_SOURCE
          614  +              #include <stdlib.h>
          615  +              #include <unistd.h>
          616  +
          617  +              int main ()
          618  +              {
          619  +              #if defined(_SC_KERNEL_BITS)
          620  +                  long bits = sysconf(_SC_KERNEL_BITS);
          621  +              #endif
          622  +                  long cpu  = sysconf (_SC_CPU_VERSION);
          623  +
          624  +                  switch (cpu)
          625  +              	{
          626  +              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
          627  +              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
          628  +              	case CPU_PA_RISC2_0:
          629  +              #if defined(_SC_KERNEL_BITS)
          630  +              	    switch (bits)
          631  +              		{
          632  +              		case 64: puts ("hppa2.0w"); break;
          633  +              		case 32: puts ("hppa2.0n"); break;
          634  +              		default: puts ("hppa2.0"); break;
          635  +              		} break;
          636  +              #else  /* !defined(_SC_KERNEL_BITS) */
          637  +              	    puts ("hppa2.0"); break;
          638  +              #endif
          639  +              	default: puts ("hppa1.0"); break;
          640  +              	}
          641  +                  exit (0);
          642  +              }
          643  +EOF
          644  +		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
          645  +		    test -z "$HP_ARCH" && HP_ARCH=hppa
          646  +		fi ;;
          647  +	esac
          648  +	if [ ${HP_ARCH} = "hppa2.0w" ]
          649  +	then
          650  +	    eval $set_cc_for_build
          651  +
          652  +	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
          653  +	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
          654  +	    # generating 64-bit code.  GNU and HP use different nomenclature:
          655  +	    #
          656  +	    # $ CC_FOR_BUILD=cc ./config.guess
          657  +	    # => hppa2.0w-hp-hpux11.23
          658  +	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
          659  +	    # => hppa64-hp-hpux11.23
          660  +
          661  +	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
          662  +		grep -q __LP64__
          663  +	    then
          664  +		HP_ARCH="hppa2.0w"
          665  +	    else
          666  +		HP_ARCH="hppa64"
          667  +	    fi
          668  +	fi
          669  +	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
          670  +	exit ;;
          671  +    ia64:HP-UX:*:*)
          672  +	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
          673  +	echo ia64-hp-hpux${HPUX_REV}
          674  +	exit ;;
          675  +    3050*:HI-UX:*:*)
          676  +	eval $set_cc_for_build
          677  +	sed 's/^	//' << EOF >$dummy.c
          678  +	#include <unistd.h>
          679  +	int
          680  +	main ()
          681  +	{
          682  +	  long cpu = sysconf (_SC_CPU_VERSION);
          683  +	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
          684  +	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
          685  +	     results, however.  */
          686  +	  if (CPU_IS_PA_RISC (cpu))
          687  +	    {
          688  +	      switch (cpu)
          689  +		{
          690  +		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
          691  +		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
          692  +		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
          693  +		  default: puts ("hppa-hitachi-hiuxwe2"); break;
          694  +		}
          695  +	    }
          696  +	  else if (CPU_IS_HP_MC68K (cpu))
          697  +	    puts ("m68k-hitachi-hiuxwe2");
          698  +	  else puts ("unknown-hitachi-hiuxwe2");
          699  +	  exit (0);
          700  +	}
          701  +EOF
          702  +	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
          703  +		{ echo "$SYSTEM_NAME"; exit; }
          704  +	echo unknown-hitachi-hiuxwe2
          705  +	exit ;;
          706  +    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
          707  +	echo hppa1.1-hp-bsd
          708  +	exit ;;
          709  +    9000/8??:4.3bsd:*:*)
          710  +	echo hppa1.0-hp-bsd
          711  +	exit ;;
          712  +    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
          713  +	echo hppa1.0-hp-mpeix
          714  +	exit ;;
          715  +    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
          716  +	echo hppa1.1-hp-osf
          717  +	exit ;;
          718  +    hp8??:OSF1:*:*)
          719  +	echo hppa1.0-hp-osf
          720  +	exit ;;
          721  +    i*86:OSF1:*:*)
          722  +	if [ -x /usr/sbin/sysversion ] ; then
          723  +	    echo ${UNAME_MACHINE}-unknown-osf1mk
          724  +	else
          725  +	    echo ${UNAME_MACHINE}-unknown-osf1
          726  +	fi
          727  +	exit ;;
          728  +    parisc*:Lites*:*:*)
          729  +	echo hppa1.1-hp-lites
          730  +	exit ;;
          731  +    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
          732  +	echo c1-convex-bsd
          733  +        exit ;;
          734  +    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
          735  +	if getsysinfo -f scalar_acc
          736  +	then echo c32-convex-bsd
          737  +	else echo c2-convex-bsd
          738  +	fi
          739  +        exit ;;
          740  +    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
          741  +	echo c34-convex-bsd
          742  +        exit ;;
          743  +    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
          744  +	echo c38-convex-bsd
          745  +        exit ;;
          746  +    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
          747  +	echo c4-convex-bsd
          748  +        exit ;;
          749  +    CRAY*Y-MP:*:*:*)
          750  +	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
          751  +	exit ;;
          752  +    CRAY*[A-Z]90:*:*:*)
          753  +	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
          754  +	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
          755  +	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
          756  +	      -e 's/\.[^.]*$/.X/'
          757  +	exit ;;
          758  +    CRAY*TS:*:*:*)
          759  +	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
          760  +	exit ;;
          761  +    CRAY*T3E:*:*:*)
          762  +	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
          763  +	exit ;;
          764  +    CRAY*SV1:*:*:*)
          765  +	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
          766  +	exit ;;
          767  +    *:UNICOS/mp:*:*)
          768  +	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
          769  +	exit ;;
          770  +    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
          771  +	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
          772  +        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
          773  +        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
          774  +        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
          775  +        exit ;;
          776  +    5000:UNIX_System_V:4.*:*)
          777  +        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
          778  +        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
          779  +        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
          780  +	exit ;;
          781  +    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
          782  +	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
          783  +	exit ;;
          784  +    sparc*:BSD/OS:*:*)
          785  +	echo sparc-unknown-bsdi${UNAME_RELEASE}
          786  +	exit ;;
          787  +    *:BSD/OS:*:*)
          788  +	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
          789  +	exit ;;
          790  +    *:FreeBSD:*:*)
          791  +	case ${UNAME_MACHINE} in
          792  +	    pc98)
          793  +		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
          794  +	    amd64)
          795  +		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
          796  +	    *)
          797  +		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
          798  +	esac
          799  +	exit ;;
          800  +    i*:CYGWIN*:*)
          801  +	echo ${UNAME_MACHINE}-pc-cygwin
          802  +	exit ;;
          803  +    *:MINGW*:*)
          804  +	echo ${UNAME_MACHINE}-pc-mingw32
          805  +	exit ;;
          806  +    i*:windows32*:*)
          807  +    	# uname -m includes "-pc" on this system.
          808  +    	echo ${UNAME_MACHINE}-mingw32
          809  +	exit ;;
          810  +    i*:PW*:*)
          811  +	echo ${UNAME_MACHINE}-pc-pw32
          812  +	exit ;;
          813  +    *:Interix*:*)
          814  +    	case ${UNAME_MACHINE} in
          815  +	    x86)
          816  +		echo i586-pc-interix${UNAME_RELEASE}
          817  +		exit ;;
          818  +	    authenticamd | genuineintel | EM64T)
          819  +		echo x86_64-unknown-interix${UNAME_RELEASE}
          820  +		exit ;;
          821  +	    IA64)
          822  +		echo ia64-unknown-interix${UNAME_RELEASE}
          823  +		exit ;;
          824  +	esac ;;
          825  +    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
          826  +	echo i${UNAME_MACHINE}-pc-mks
          827  +	exit ;;
          828  +    8664:Windows_NT:*)
          829  +	echo x86_64-pc-mks
          830  +	exit ;;
          831  +    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
          832  +	# How do we know it's Interix rather than the generic POSIX subsystem?
          833  +	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
          834  +	# UNAME_MACHINE based on the output of uname instead of i386?
          835  +	echo i586-pc-interix
          836  +	exit ;;
          837  +    i*:UWIN*:*)
          838  +	echo ${UNAME_MACHINE}-pc-uwin
          839  +	exit ;;
          840  +    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
          841  +	echo x86_64-unknown-cygwin
          842  +	exit ;;
          843  +    p*:CYGWIN*:*)
          844  +	echo powerpcle-unknown-cygwin
          845  +	exit ;;
          846  +    prep*:SunOS:5.*:*)
          847  +	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
          848  +	exit ;;
          849  +    *:GNU:*:*)
          850  +	# the GNU system
          851  +	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
          852  +	exit ;;
          853  +    *:GNU/*:*:*)
          854  +	# other systems with GNU libc and userland
          855  +	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
          856  +	exit ;;
          857  +    i*86:Minix:*:*)
          858  +	echo ${UNAME_MACHINE}-pc-minix
          859  +	exit ;;
          860  +    alpha:Linux:*:*)
          861  +	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
          862  +	  EV5)   UNAME_MACHINE=alphaev5 ;;
          863  +	  EV56)  UNAME_MACHINE=alphaev56 ;;
          864  +	  PCA56) UNAME_MACHINE=alphapca56 ;;
          865  +	  PCA57) UNAME_MACHINE=alphapca56 ;;
          866  +	  EV6)   UNAME_MACHINE=alphaev6 ;;
          867  +	  EV67)  UNAME_MACHINE=alphaev67 ;;
          868  +	  EV68*) UNAME_MACHINE=alphaev68 ;;
          869  +        esac
          870  +	objdump --private-headers /bin/sh | grep -q ld.so.1
          871  +	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
          872  +	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
          873  +	exit ;;
          874  +    arm*:Linux:*:*)
          875  +	eval $set_cc_for_build
          876  +	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
          877  +	    | grep -q __ARM_EABI__
          878  +	then
          879  +	    echo ${UNAME_MACHINE}-unknown-linux-gnu
          880  +	else
          881  +	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
          882  +	fi
          883  +	exit ;;
          884  +    avr32*:Linux:*:*)
          885  +	echo ${UNAME_MACHINE}-unknown-linux-gnu
          886  +	exit ;;
          887  +    cris:Linux:*:*)
          888  +	echo cris-axis-linux-gnu
          889  +	exit ;;
          890  +    crisv32:Linux:*:*)
          891  +	echo crisv32-axis-linux-gnu
          892  +	exit ;;
          893  +    frv:Linux:*:*)
          894  +    	echo frv-unknown-linux-gnu
          895  +	exit ;;
          896  +    i*86:Linux:*:*)
          897  +	LIBC=gnu
          898  +	eval $set_cc_for_build
          899  +	sed 's/^	//' << EOF >$dummy.c
          900  +	#ifdef __dietlibc__
          901  +	LIBC=dietlibc
          902  +	#endif
          903  +EOF
          904  +	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
          905  +	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
          906  +	exit ;;
          907  +    ia64:Linux:*:*)
          908  +	echo ${UNAME_MACHINE}-unknown-linux-gnu
          909  +	exit ;;
          910  +    m32r*:Linux:*:*)
          911  +	echo ${UNAME_MACHINE}-unknown-linux-gnu
          912  +	exit ;;
          913  +    m68*:Linux:*:*)
          914  +	echo ${UNAME_MACHINE}-unknown-linux-gnu
          915  +	exit ;;
          916  +    mips:Linux:*:* | mips64:Linux:*:*)
          917  +	eval $set_cc_for_build
          918  +	sed 's/^	//' << EOF >$dummy.c
          919  +	#undef CPU
          920  +	#undef ${UNAME_MACHINE}
          921  +	#undef ${UNAME_MACHINE}el
          922  +	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
          923  +	CPU=${UNAME_MACHINE}el
          924  +	#else
          925  +	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
          926  +	CPU=${UNAME_MACHINE}
          927  +	#else
          928  +	CPU=
          929  +	#endif
          930  +	#endif
          931  +EOF
          932  +	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
          933  +	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
          934  +	;;
          935  +    or32:Linux:*:*)
          936  +	echo or32-unknown-linux-gnu
          937  +	exit ;;
          938  +    padre:Linux:*:*)
          939  +	echo sparc-unknown-linux-gnu
          940  +	exit ;;
          941  +    parisc64:Linux:*:* | hppa64:Linux:*:*)
          942  +	echo hppa64-unknown-linux-gnu
          943  +	exit ;;
          944  +    parisc:Linux:*:* | hppa:Linux:*:*)
          945  +	# Look for CPU level
          946  +	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
          947  +	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
          948  +	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
          949  +	  *)    echo hppa-unknown-linux-gnu ;;
          950  +	esac
          951  +	exit ;;
          952  +    ppc64:Linux:*:*)
          953  +	echo powerpc64-unknown-linux-gnu
          954  +	exit ;;
          955  +    ppc:Linux:*:*)
          956  +	echo powerpc-unknown-linux-gnu
          957  +	exit ;;
          958  +    s390:Linux:*:* | s390x:Linux:*:*)
          959  +	echo ${UNAME_MACHINE}-ibm-linux
          960  +	exit ;;
          961  +    sh64*:Linux:*:*)
          962  +    	echo ${UNAME_MACHINE}-unknown-linux-gnu
          963  +	exit ;;
          964  +    sh*:Linux:*:*)
          965  +	echo ${UNAME_MACHINE}-unknown-linux-gnu
          966  +	exit ;;
          967  +    sparc:Linux:*:* | sparc64:Linux:*:*)
          968  +	echo ${UNAME_MACHINE}-unknown-linux-gnu
          969  +	exit ;;
          970  +    vax:Linux:*:*)
          971  +	echo ${UNAME_MACHINE}-dec-linux-gnu
          972  +	exit ;;
          973  +    x86_64:Linux:*:*)
          974  +	echo x86_64-unknown-linux-gnu
          975  +	exit ;;
          976  +    xtensa*:Linux:*:*)
          977  +    	echo ${UNAME_MACHINE}-unknown-linux-gnu
          978  +	exit ;;
          979  +    i*86:DYNIX/ptx:4*:*)
          980  +	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
          981  +	# earlier versions are messed up and put the nodename in both
          982  +	# sysname and nodename.
          983  +	echo i386-sequent-sysv4
          984  +	exit ;;
          985  +    i*86:UNIX_SV:4.2MP:2.*)
          986  +        # Unixware is an offshoot of SVR4, but it has its own version
          987  +        # number series starting with 2...
          988  +        # I am not positive that other SVR4 systems won't match this,
          989  +	# I just have to hope.  -- rms.
          990  +        # Use sysv4.2uw... so that sysv4* matches it.
          991  +	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
          992  +	exit ;;
          993  +    i*86:OS/2:*:*)
          994  +	# If we were able to find `uname', then EMX Unix compatibility
          995  +	# is probably installed.
          996  +	echo ${UNAME_MACHINE}-pc-os2-emx
          997  +	exit ;;
          998  +    i*86:XTS-300:*:STOP)
          999  +	echo ${UNAME_MACHINE}-unknown-stop
         1000  +	exit ;;
         1001  +    i*86:atheos:*:*)
         1002  +	echo ${UNAME_MACHINE}-unknown-atheos
         1003  +	exit ;;
         1004  +    i*86:syllable:*:*)
         1005  +	echo ${UNAME_MACHINE}-pc-syllable
         1006  +	exit ;;
         1007  +    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
         1008  +	echo i386-unknown-lynxos${UNAME_RELEASE}
         1009  +	exit ;;
         1010  +    i*86:*DOS:*:*)
         1011  +	echo ${UNAME_MACHINE}-pc-msdosdjgpp
         1012  +	exit ;;
         1013  +    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
         1014  +	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
         1015  +	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
         1016  +		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
         1017  +	else
         1018  +		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
         1019  +	fi
         1020  +	exit ;;
         1021  +    i*86:*:5:[678]*)
         1022  +    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
         1023  +	case `/bin/uname -X | grep "^Machine"` in
         1024  +	    *486*)	     UNAME_MACHINE=i486 ;;
         1025  +	    *Pentium)	     UNAME_MACHINE=i586 ;;
         1026  +	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
         1027  +	esac
         1028  +	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
         1029  +	exit ;;
         1030  +    i*86:*:3.2:*)
         1031  +	if test -f /usr/options/cb.name; then
         1032  +		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
         1033  +		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
         1034  +	elif /bin/uname -X 2>/dev/null >/dev/null ; then
         1035  +		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
         1036  +		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
         1037  +		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
         1038  +			&& UNAME_MACHINE=i586
         1039  +		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
         1040  +			&& UNAME_MACHINE=i686
         1041  +		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
         1042  +			&& UNAME_MACHINE=i686
         1043  +		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
         1044  +	else
         1045  +		echo ${UNAME_MACHINE}-pc-sysv32
         1046  +	fi
         1047  +	exit ;;
         1048  +    pc:*:*:*)
         1049  +	# Left here for compatibility:
         1050  +        # uname -m prints for DJGPP always 'pc', but it prints nothing about
         1051  +        # the processor, so we play safe by assuming i586.
         1052  +	# Note: whatever this is, it MUST be the same as what config.sub
         1053  +	# prints for the "djgpp" host, or else GDB configury will decide that
         1054  +	# this is a cross-build.
         1055  +	echo i586-pc-msdosdjgpp
         1056  +        exit ;;
         1057  +    Intel:Mach:3*:*)
         1058  +	echo i386-pc-mach3
         1059  +	exit ;;
         1060  +    paragon:*:*:*)
         1061  +	echo i860-intel-osf1
         1062  +	exit ;;
         1063  +    i860:*:4.*:*) # i860-SVR4
         1064  +	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
         1065  +	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
         1066  +	else # Add other i860-SVR4 vendors below as they are discovered.
         1067  +	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
         1068  +	fi
         1069  +	exit ;;
         1070  +    mini*:CTIX:SYS*5:*)
         1071  +	# "miniframe"
         1072  +	echo m68010-convergent-sysv
         1073  +	exit ;;
         1074  +    mc68k:UNIX:SYSTEM5:3.51m)
         1075  +	echo m68k-convergent-sysv
         1076  +	exit ;;
         1077  +    M680?0:D-NIX:5.3:*)
         1078  +	echo m68k-diab-dnix
         1079  +	exit ;;
         1080  +    M68*:*:R3V[5678]*:*)
         1081  +	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
         1082  +    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)
         1083  +	OS_REL=''
         1084  +	test -r /etc/.relid \
         1085  +	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
         1086  +	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
         1087  +	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
         1088  +	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
         1089  +	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
         1090  +    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         1091  +        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
         1092  +          && { echo i486-ncr-sysv4; exit; } ;;
         1093  +    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
         1094  +	OS_REL='.3'
         1095  +	test -r /etc/.relid \
         1096  +	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
         1097  +	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
         1098  +	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
         1099  +	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
         1100  +	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
         1101  +	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
         1102  +	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
         1103  +    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
         1104  +	echo m68k-unknown-lynxos${UNAME_RELEASE}
         1105  +	exit ;;
         1106  +    mc68030:UNIX_System_V:4.*:*)
         1107  +	echo m68k-atari-sysv4
         1108  +	exit ;;
         1109  +    TSUNAMI:LynxOS:2.*:*)
         1110  +	echo sparc-unknown-lynxos${UNAME_RELEASE}
         1111  +	exit ;;
         1112  +    rs6000:LynxOS:2.*:*)
         1113  +	echo rs6000-unknown-lynxos${UNAME_RELEASE}
         1114  +	exit ;;
         1115  +    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
         1116  +	echo powerpc-unknown-lynxos${UNAME_RELEASE}
         1117  +	exit ;;
         1118  +    SM[BE]S:UNIX_SV:*:*)
         1119  +	echo mips-dde-sysv${UNAME_RELEASE}
         1120  +	exit ;;
         1121  +    RM*:ReliantUNIX-*:*:*)
         1122  +	echo mips-sni-sysv4
         1123  +	exit ;;
         1124  +    RM*:SINIX-*:*:*)
         1125  +	echo mips-sni-sysv4
         1126  +	exit ;;
         1127  +    *:SINIX-*:*:*)
         1128  +	if uname -p 2>/dev/null >/dev/null ; then
         1129  +		UNAME_MACHINE=`(uname -p) 2>/dev/null`
         1130  +		echo ${UNAME_MACHINE}-sni-sysv4
         1131  +	else
         1132  +		echo ns32k-sni-sysv
         1133  +	fi
         1134  +	exit ;;
         1135  +    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
         1136  +                      # says <Richard.M.Bartel@ccMail.Census.GOV>
         1137  +        echo i586-unisys-sysv4
         1138  +        exit ;;
         1139  +    *:UNIX_System_V:4*:FTX*)
         1140  +	# From Gerald Hewes <hewes@openmarket.com>.
         1141  +	# How about differentiating between stratus architectures? -djm
         1142  +	echo hppa1.1-stratus-sysv4
         1143  +	exit ;;
         1144  +    *:*:*:FTX*)
         1145  +	# From seanf@swdc.stratus.com.
         1146  +	echo i860-stratus-sysv4
         1147  +	exit ;;
         1148  +    i*86:VOS:*:*)
         1149  +	# From Paul.Green@stratus.com.
         1150  +	echo ${UNAME_MACHINE}-stratus-vos
         1151  +	exit ;;
         1152  +    *:VOS:*:*)
         1153  +	# From Paul.Green@stratus.com.
         1154  +	echo hppa1.1-stratus-vos
         1155  +	exit ;;
         1156  +    mc68*:A/UX:*:*)
         1157  +	echo m68k-apple-aux${UNAME_RELEASE}
         1158  +	exit ;;
         1159  +    news*:NEWS-OS:6*:*)
         1160  +	echo mips-sony-newsos6
         1161  +	exit ;;
         1162  +    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
         1163  +	if [ -d /usr/nec ]; then
         1164  +	        echo mips-nec-sysv${UNAME_RELEASE}
         1165  +	else
         1166  +	        echo mips-unknown-sysv${UNAME_RELEASE}
         1167  +	fi
         1168  +        exit ;;
         1169  +    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
         1170  +	echo powerpc-be-beos
         1171  +	exit ;;
         1172  +    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
         1173  +	echo powerpc-apple-beos
         1174  +	exit ;;
         1175  +    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
         1176  +	echo i586-pc-beos
         1177  +	exit ;;
         1178  +    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
         1179  +	echo i586-pc-haiku
         1180  +	exit ;;
         1181  +    SX-4:SUPER-UX:*:*)
         1182  +	echo sx4-nec-superux${UNAME_RELEASE}
         1183  +	exit ;;
         1184  +    SX-5:SUPER-UX:*:*)
         1185  +	echo sx5-nec-superux${UNAME_RELEASE}
         1186  +	exit ;;
         1187  +    SX-6:SUPER-UX:*:*)
         1188  +	echo sx6-nec-superux${UNAME_RELEASE}
         1189  +	exit ;;
         1190  +    SX-7:SUPER-UX:*:*)
         1191  +	echo sx7-nec-superux${UNAME_RELEASE}
         1192  +	exit ;;
         1193  +    SX-8:SUPER-UX:*:*)
         1194  +	echo sx8-nec-superux${UNAME_RELEASE}
         1195  +	exit ;;
         1196  +    SX-8R:SUPER-UX:*:*)
         1197  +	echo sx8r-nec-superux${UNAME_RELEASE}
         1198  +	exit ;;
         1199  +    Power*:Rhapsody:*:*)
         1200  +	echo powerpc-apple-rhapsody${UNAME_RELEASE}
         1201  +	exit ;;
         1202  +    *:Rhapsody:*:*)
         1203  +	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
         1204  +	exit ;;
         1205  +    *:Darwin:*:*)
         1206  +	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
         1207  +	case $UNAME_PROCESSOR in
         1208  +	    i386)
         1209  +		eval $set_cc_for_build
         1210  +		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
         1211  +		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
         1212  +		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
         1213  +		      grep IS_64BIT_ARCH >/dev/null
         1214  +		  then
         1215  +		      UNAME_PROCESSOR="x86_64"
         1216  +		  fi
         1217  +		fi ;;
         1218  +	    unknown) UNAME_PROCESSOR=powerpc ;;
         1219  +	esac
         1220  +	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
         1221  +	exit ;;
         1222  +    *:procnto*:*:* | *:QNX:[0123456789]*:*)
         1223  +	UNAME_PROCESSOR=`uname -p`
         1224  +	if test "$UNAME_PROCESSOR" = "x86"; then
         1225  +		UNAME_PROCESSOR=i386
         1226  +		UNAME_MACHINE=pc
         1227  +	fi
         1228  +	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
         1229  +	exit ;;
         1230  +    *:QNX:*:4*)
         1231  +	echo i386-pc-qnx
         1232  +	exit ;;
         1233  +    NSE-?:NONSTOP_KERNEL:*:*)
         1234  +	echo nse-tandem-nsk${UNAME_RELEASE}
         1235  +	exit ;;
         1236  +    NSR-?:NONSTOP_KERNEL:*:*)
         1237  +	echo nsr-tandem-nsk${UNAME_RELEASE}
         1238  +	exit ;;
         1239  +    *:NonStop-UX:*:*)
         1240  +	echo mips-compaq-nonstopux
         1241  +	exit ;;
         1242  +    BS2000:POSIX*:*:*)
         1243  +	echo bs2000-siemens-sysv
         1244  +	exit ;;
         1245  +    DS/*:UNIX_System_V:*:*)
         1246  +	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
         1247  +	exit ;;
         1248  +    *:Plan9:*:*)
         1249  +	# "uname -m" is not consistent, so use $cputype instead. 386
         1250  +	# is converted to i386 for consistency with other x86
         1251  +	# operating systems.
         1252  +	if test "$cputype" = "386"; then
         1253  +	    UNAME_MACHINE=i386
         1254  +	else
         1255  +	    UNAME_MACHINE="$cputype"
         1256  +	fi
         1257  +	echo ${UNAME_MACHINE}-unknown-plan9
         1258  +	exit ;;
         1259  +    *:TOPS-10:*:*)
         1260  +	echo pdp10-unknown-tops10
         1261  +	exit ;;
         1262  +    *:TENEX:*:*)
         1263  +	echo pdp10-unknown-tenex
         1264  +	exit ;;
         1265  +    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
         1266  +	echo pdp10-dec-tops20
         1267  +	exit ;;
         1268  +    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
         1269  +	echo pdp10-xkl-tops20
         1270  +	exit ;;
         1271  +    *:TOPS-20:*:*)
         1272  +	echo pdp10-unknown-tops20
         1273  +	exit ;;
         1274  +    *:ITS:*:*)
         1275  +	echo pdp10-unknown-its
         1276  +	exit ;;
         1277  +    SEI:*:*:SEIUX)
         1278  +        echo mips-sei-seiux${UNAME_RELEASE}
         1279  +	exit ;;
         1280  +    *:DragonFly:*:*)
         1281  +	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
         1282  +	exit ;;
         1283  +    *:*VMS:*:*)
         1284  +    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
         1285  +	case "${UNAME_MACHINE}" in
         1286  +	    A*) echo alpha-dec-vms ; exit ;;
         1287  +	    I*) echo ia64-dec-vms ; exit ;;
         1288  +	    V*) echo vax-dec-vms ; exit ;;
         1289  +	esac ;;
         1290  +    *:XENIX:*:SysV)
         1291  +	echo i386-pc-xenix
         1292  +	exit ;;
         1293  +    i*86:skyos:*:*)
         1294  +	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
         1295  +	exit ;;
         1296  +    i*86:rdos:*:*)
         1297  +	echo ${UNAME_MACHINE}-pc-rdos
         1298  +	exit ;;
         1299  +    i*86:AROS:*:*)
         1300  +	echo ${UNAME_MACHINE}-pc-aros
         1301  +	exit ;;
         1302  +esac
         1303  +
         1304  +#echo '(No uname command or uname output not recognized.)' 1>&2
         1305  +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
         1306  +
         1307  +eval $set_cc_for_build
         1308  +cat >$dummy.c <<EOF
         1309  +#ifdef _SEQUENT_
         1310  +# include <sys/types.h>
         1311  +# include <sys/utsname.h>
         1312  +#endif
         1313  +main ()
         1314  +{
         1315  +#if defined (sony)
         1316  +#if defined (MIPSEB)
         1317  +  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
         1318  +     I don't know....  */
         1319  +  printf ("mips-sony-bsd\n"); exit (0);
         1320  +#else
         1321  +#include <sys/param.h>
         1322  +  printf ("m68k-sony-newsos%s\n",
         1323  +#ifdef NEWSOS4
         1324  +          "4"
         1325  +#else
         1326  +	  ""
         1327  +#endif
         1328  +         ); exit (0);
         1329  +#endif
         1330  +#endif
         1331  +
         1332  +#if defined (__arm) && defined (__acorn) && defined (__unix)
         1333  +  printf ("arm-acorn-riscix\n"); exit (0);
         1334  +#endif
         1335  +
         1336  +#if defined (hp300) && !defined (hpux)
         1337  +  printf ("m68k-hp-bsd\n"); exit (0);
         1338  +#endif
         1339  +
         1340  +#if defined (NeXT)
         1341  +#if !defined (__ARCHITECTURE__)
         1342  +#define __ARCHITECTURE__ "m68k"
         1343  +#endif
         1344  +  int version;
         1345  +  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
         1346  +  if (version < 4)
         1347  +    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
         1348  +  else
         1349  +    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
         1350  +  exit (0);
         1351  +#endif
         1352  +
         1353  +#if defined (MULTIMAX) || defined (n16)
         1354  +#if defined (UMAXV)
         1355  +  printf ("ns32k-encore-sysv\n"); exit (0);
         1356  +#else
         1357  +#if defined (CMU)
         1358  +  printf ("ns32k-encore-mach\n"); exit (0);
         1359  +#else
         1360  +  printf ("ns32k-encore-bsd\n"); exit (0);
         1361  +#endif
         1362  +#endif
         1363  +#endif
         1364  +
         1365  +#if defined (__386BSD__)
         1366  +  printf ("i386-pc-bsd\n"); exit (0);
         1367  +#endif
         1368  +
         1369  +#if defined (sequent)
         1370  +#if defined (i386)
         1371  +  printf ("i386-sequent-dynix\n"); exit (0);
         1372  +#endif
         1373  +#if defined (ns32000)
         1374  +  printf ("ns32k-sequent-dynix\n"); exit (0);
         1375  +#endif
         1376  +#endif
         1377  +
         1378  +#if defined (_SEQUENT_)
         1379  +    struct utsname un;
         1380  +
         1381  +    uname(&un);
         1382  +
         1383  +    if (strncmp(un.version, "V2", 2) == 0) {
         1384  +	printf ("i386-sequent-ptx2\n"); exit (0);
         1385  +    }
         1386  +    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
         1387  +	printf ("i386-sequent-ptx1\n"); exit (0);
         1388  +    }
         1389  +    printf ("i386-sequent-ptx\n"); exit (0);
         1390  +
         1391  +#endif
         1392  +
         1393  +#if defined (vax)
         1394  +# if !defined (ultrix)
         1395  +#  include <sys/param.h>
         1396  +#  if defined (BSD)
         1397  +#   if BSD == 43
         1398  +      printf ("vax-dec-bsd4.3\n"); exit (0);
         1399  +#   else
         1400  +#    if BSD == 199006
         1401  +      printf ("vax-dec-bsd4.3reno\n"); exit (0);
         1402  +#    else
         1403  +      printf ("vax-dec-bsd\n"); exit (0);
         1404  +#    endif
         1405  +#   endif
         1406  +#  else
         1407  +    printf ("vax-dec-bsd\n"); exit (0);
         1408  +#  endif
         1409  +# else
         1410  +    printf ("vax-dec-ultrix\n"); exit (0);
         1411  +# endif
         1412  +#endif
         1413  +
         1414  +#if defined (alliant) && defined (i860)
         1415  +  printf ("i860-alliant-bsd\n"); exit (0);
         1416  +#endif
         1417  +
         1418  +  exit (1);
         1419  +}
         1420  +EOF
         1421  +
         1422  +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
         1423  +	{ echo "$SYSTEM_NAME"; exit; }
         1424  +
         1425  +# Apollos put the system type in the environment.
         1426  +
         1427  +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
         1428  +
         1429  +# Convex versions that predate uname can use getsysinfo(1)
         1430  +
         1431  +if [ -x /usr/convex/getsysinfo ]
         1432  +then
         1433  +    case `getsysinfo -f cpu_type` in
         1434  +    c1*)
         1435  +	echo c1-convex-bsd
         1436  +	exit ;;
         1437  +    c2*)
         1438  +	if getsysinfo -f scalar_acc
         1439  +	then echo c32-convex-bsd
         1440  +	else echo c2-convex-bsd
         1441  +	fi
         1442  +	exit ;;
         1443  +    c34*)
         1444  +	echo c34-convex-bsd
         1445  +	exit ;;
         1446  +    c38*)
         1447  +	echo c38-convex-bsd
         1448  +	exit ;;
         1449  +    c4*)
         1450  +	echo c4-convex-bsd
         1451  +	exit ;;
         1452  +    esac
         1453  +fi
         1454  +
         1455  +cat >&2 <<EOF
         1456  +$0: unable to guess system type
         1457  +
         1458  +This script, last modified $timestamp, has failed to recognize
         1459  +the operating system you are using. It is advised that you
         1460  +download the most up to date version of the config scripts from
         1461  +
         1462  +  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
         1463  +and
         1464  +  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
         1465  +
         1466  +If the version you run ($0) is already up to date, please
         1467  +send the following data and any information you think might be
         1468  +pertinent to <config-patches@gnu.org> in order to provide the needed
         1469  +information to handle your system.
         1470  +
         1471  +config.guess timestamp = $timestamp
         1472  +
         1473  +uname -m = `(uname -m) 2>/dev/null || echo unknown`
         1474  +uname -r = `(uname -r) 2>/dev/null || echo unknown`
         1475  +uname -s = `(uname -s) 2>/dev/null || echo unknown`
         1476  +uname -v = `(uname -v) 2>/dev/null || echo unknown`
         1477  +
         1478  +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
         1479  +/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
         1480  +
         1481  +hostinfo               = `(hostinfo) 2>/dev/null`
         1482  +/bin/universe          = `(/bin/universe) 2>/dev/null`
         1483  +/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
         1484  +/bin/arch              = `(/bin/arch) 2>/dev/null`
         1485  +/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
         1486  +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
         1487  +
         1488  +UNAME_MACHINE = ${UNAME_MACHINE}
         1489  +UNAME_RELEASE = ${UNAME_RELEASE}
         1490  +UNAME_SYSTEM  = ${UNAME_SYSTEM}
         1491  +UNAME_VERSION = ${UNAME_VERSION}
         1492  +EOF
         1493  +
         1494  +exit 1
         1495  +
         1496  +# Local variables:
         1497  +# eval: (add-hook 'write-file-hooks 'time-stamp)
         1498  +# time-stamp-start: "timestamp='"
         1499  +# time-stamp-format: "%:y-%02m-%02d"
         1500  +# time-stamp-end: "'"
         1501  +# End:

Added config.h.in.

            1  +/* config.h.in.  Generated from configure.ac by autoheader.  */
            2  +
            3  +/* Define to 1 if you have the <dlfcn.h> header file. */
            4  +#undef HAVE_DLFCN_H
            5  +
            6  +/* Define to 1 if you have the <expat.h> header file. */
            7  +#undef HAVE_EXPAT_H
            8  +
            9  +/* Define to 1 if you have the <inttypes.h> header file. */
           10  +#undef HAVE_INTTYPES_H
           11  +
           12  +/* Define to 1 if you have the `expat' library (-lexpat). */
           13  +#undef HAVE_LIBEXPAT
           14  +
           15  +/* Define to 1 if you have the `z' library (-lz). */
           16  +#undef HAVE_LIBZ
           17  +
           18  +/* Define to 1 if `lstat' has the bug that it succeeds when given the
           19  +   zero-length file name argument. */
           20  +#undef HAVE_LSTAT_EMPTY_STRING_BUG
           21  +
           22  +/* Define to 1 if you have the <memory.h> header file. */
           23  +#undef HAVE_MEMORY_H
           24  +
           25  +/* Define to 1 if you have the `sqrt' function. */
           26  +#undef HAVE_SQRT
           27  +
           28  +/* Define to 1 if `stat' has the bug that it succeeds when given the
           29  +   zero-length file name argument. */
           30  +#undef HAVE_STAT_EMPTY_STRING_BUG
           31  +
           32  +/* Define to 1 if you have the <stdint.h> header file. */
           33  +#undef HAVE_STDINT_H
           34  +
           35  +/* Define to 1 if you have the <stdio.h> header file. */
           36  +#undef HAVE_STDIO_H
           37  +
           38  +/* Define to 1 if you have the <stdlib.h> header file. */
           39  +#undef HAVE_STDLIB_H
           40  +
           41  +/* Define to 1 if you have the `strcasecmp' function. */
           42  +#undef HAVE_STRCASECMP
           43  +
           44  +/* Define to 1 if you have the `strerror' function. */
           45  +#undef HAVE_STRERROR
           46  +
           47  +/* Define to 1 if you have the `strftime' function. */
           48  +#undef HAVE_STRFTIME
           49  +
           50  +/* Define to 1 if you have the <strings.h> header file. */
           51  +#undef HAVE_STRINGS_H
           52  +
           53  +/* Define to 1 if you have the <string.h> header file. */
           54  +#undef HAVE_STRING_H
           55  +
           56  +/* Define to 1 if you have the `strncasecmp' function. */
           57  +#undef HAVE_STRNCASECMP
           58  +
           59  +/* Define to 1 if you have the `strstr' function. */
           60  +#undef HAVE_STRSTR
           61  +
           62  +/* Define to 1 if you have the <sys/stat.h> header file. */
           63  +#undef HAVE_SYS_STAT_H
           64  +
           65  +/* Define to 1 if you have the <sys/types.h> header file. */
           66  +#undef HAVE_SYS_TYPES_H
           67  +
           68  +/* Define to 1 if you have the <unistd.h> header file. */
           69  +#undef HAVE_UNISTD_H
           70  +
           71  +/* Define to 1 if you have the <zlib.h> header file. */
           72  +#undef HAVE_ZLIB_H
           73  +
           74  +/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
           75  +   slash. */
           76  +#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
           77  +
           78  +/* Define to the sub-directory in which libtool stores uninstalled libraries.
           79  +   */
           80  +#undef LT_OBJDIR
           81  +
           82  +/* Name of package */
           83  +#undef PACKAGE
           84  +
           85  +/* Define to the address where bug reports for this package should be sent. */
           86  +#undef PACKAGE_BUGREPORT
           87  +
           88  +/* Define to the full name of this package. */
           89  +#undef PACKAGE_NAME
           90  +
           91  +/* Define to the full name and version of this package. */
           92  +#undef PACKAGE_STRING
           93  +
           94  +/* Define to the one symbol short name of this package. */
           95  +#undef PACKAGE_TARNAME
           96  +
           97  +/* Define to the home page for this package. */
           98  +#undef PACKAGE_URL
           99  +
          100  +/* Define to the version of this package. */
          101  +#undef PACKAGE_VERSION
          102  +
          103  +/* Define to 1 if you have the ANSI C header files. */
          104  +#undef STDC_HEADERS
          105  +
          106  +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
          107  +#undef TIME_WITH_SYS_TIME
          108  +
          109  +/* Define to 1 if your <sys/time.h> declares `struct tm'. */
          110  +#undef TM_IN_SYS_TIME
          111  +
          112  +/* Version number of package */
          113  +#undef VERSION
          114  +
          115  +/* Define to empty if `const' does not conform to ANSI C. */
          116  +#undef const
          117  +
          118  +/* Define to `long int' if <sys/types.h> does not define. */
          119  +#undef off_t
          120  +
          121  +/* Define to `unsigned int' if <sys/types.h> does not define. */
          122  +#undef size_t
          123  +
          124  +/* Define to empty if the keyword `volatile' does not work. Warning: valid
          125  +   code using `volatile' can become incorrect without. Disable with care. */
          126  +#undef volatile

Added config.sub.

            1  +#! /bin/sh
            2  +# Configuration validation subroutine script.
            3  +#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
            4  +#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
            5  +#   Free Software Foundation, Inc.
            6  +
            7  +timestamp='2009-11-20'
            8  +
            9  +# This file is (in principle) common to ALL GNU software.
           10  +# The presence of a machine in this file suggests that SOME GNU software
           11  +# can handle that machine.  It does not imply ALL GNU software can.
           12  +#
           13  +# This file is free software; you can redistribute it and/or modify
           14  +# it under the terms of the GNU General Public License as published by
           15  +# the Free Software Foundation; either version 2 of the License, or
           16  +# (at your option) any later version.
           17  +#
           18  +# This program is distributed in the hope that it will be useful,
           19  +# but WITHOUT ANY WARRANTY; without even the implied warranty of
           20  +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           21  +# GNU General Public License for more details.
           22  +#
           23  +# You should have received a copy of the GNU General Public License
           24  +# along with this program; if not, write to the Free Software
           25  +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
           26  +# 02110-1301, USA.
           27  +#
           28  +# As a special exception to the GNU General Public License, if you
           29  +# distribute this file as part of a program that contains a
           30  +# configuration script generated by Autoconf, you may include it under
           31  +# the same distribution terms that you use for the rest of that program.
           32  +
           33  +
           34  +# Please send patches to <config-patches@gnu.org>.  Submit a context
           35  +# diff and a properly formatted GNU ChangeLog entry.
           36  +#
           37  +# Configuration subroutine to validate and canonicalize a configuration type.
           38  +# Supply the specified configuration type as an argument.
           39  +# If it is invalid, we print an error message on stderr and exit with code 1.
           40  +# Otherwise, we print the canonical config type on stdout and succeed.
           41  +
           42  +# You can get the latest version of this script from:
           43  +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
           44  +
           45  +# This file is supposed to be the same for all GNU packages
           46  +# and recognize all the CPU types, system types and aliases
           47  +# that are meaningful with *any* GNU software.
           48  +# Each package is responsible for reporting which valid configurations
           49  +# it does not support.  The user should be able to distinguish
           50  +# a failure to support a valid configuration from a meaningless
           51  +# configuration.
           52  +
           53  +# The goal of this file is to map all the various variations of a given
           54  +# machine specification into a single specification in the form:
           55  +#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
           56  +# or in some cases, the newer four-part form:
           57  +#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
           58  +# It is wrong to echo any other type of specification.
           59  +
           60  +me=`echo "$0" | sed -e 's,.*/,,'`
           61  +
           62  +usage="\
           63  +Usage: $0 [OPTION] CPU-MFR-OPSYS
           64  +       $0 [OPTION] ALIAS
           65  +
           66  +Canonicalize a configuration name.
           67  +
           68  +Operation modes:
           69  +  -h, --help         print this help, then exit
           70  +  -t, --time-stamp   print date of last modification, then exit
           71  +  -v, --version      print version number, then exit
           72  +
           73  +Report bugs and patches to <config-patches@gnu.org>."
           74  +
           75  +version="\
           76  +GNU config.sub ($timestamp)
           77  +
           78  +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
           79  +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
           80  +
           81  +This is free software; see the source for copying conditions.  There is NO
           82  +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
           83  +
           84  +help="
           85  +Try \`$me --help' for more information."
           86  +
           87  +# Parse command line
           88  +while test $# -gt 0 ; do
           89  +  case $1 in
           90  +    --time-stamp | --time* | -t )
           91  +       echo "$timestamp" ; exit ;;
           92  +    --version | -v )
           93  +       echo "$version" ; exit ;;
           94  +    --help | --h* | -h )
           95  +       echo "$usage"; exit ;;
           96  +    -- )     # Stop option processing
           97  +       shift; break ;;
           98  +    - )	# Use stdin as input.
           99  +       break ;;
          100  +    -* )
          101  +       echo "$me: invalid option $1$help"
          102  +       exit 1 ;;
          103  +
          104  +    *local*)
          105  +       # First pass through any local machine types.
          106  +       echo $1
          107  +       exit ;;
          108  +
          109  +    * )
          110  +       break ;;
          111  +  esac
          112  +done
          113  +
          114  +case $# in
          115  + 0) echo "$me: missing argument$help" >&2
          116  +    exit 1;;
          117  + 1) ;;
          118  + *) echo "$me: too many arguments$help" >&2
          119  +    exit 1;;
          120  +esac
          121  +
          122  +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
          123  +# Here we must recognize all the valid KERNEL-OS combinations.
          124  +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
          125  +case $maybe_os in
          126  +  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
          127  +  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
          128  +  kopensolaris*-gnu* | \
          129  +  storm-chaos* | os2-emx* | rtmk-nova*)
          130  +    os=-$maybe_os
          131  +    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
          132  +    ;;
          133  +  *)
          134  +    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
          135  +    if [ $basic_machine != $1 ]
          136  +    then os=`echo $1 | sed 's/.*-/-/'`
          137  +    else os=; fi
          138  +    ;;
          139  +esac
          140  +
          141  +### Let's recognize common machines as not being operating systems so
          142  +### that things like config.sub decstation-3100 work.  We also
          143  +### recognize some manufacturers as not being operating systems, so we
          144  +### can provide default operating systems below.
          145  +case $os in
          146  +	-sun*os*)
          147  +		# Prevent following clause from handling this invalid input.
          148  +		;;
          149  +	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
          150  +	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
          151  +	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
          152  +	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
          153  +	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
          154  +	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
          155  +	-apple | -axis | -knuth | -cray | -microblaze)
          156  +		os=
          157  +		basic_machine=$1
          158  +		;;
          159  +        -bluegene*)
          160  +	        os=-cnk
          161  +		;;
          162  +	-sim | -cisco | -oki | -wec | -winbond)
          163  +		os=
          164  +		basic_machine=$1
          165  +		;;
          166  +	-scout)
          167  +		;;
          168  +	-wrs)
          169  +		os=-vxworks
          170  +		basic_machine=$1
          171  +		;;
          172  +	-chorusos*)
          173  +		os=-chorusos
          174  +		basic_machine=$1
          175  +		;;
          176  + 	-chorusrdb)
          177  + 		os=-chorusrdb
          178  +		basic_machine=$1
          179  + 		;;
          180  +	-hiux*)
          181  +		os=-hiuxwe2
          182  +		;;
          183  +	-sco6)
          184  +		os=-sco5v6
          185  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          186  +		;;
          187  +	-sco5)
          188  +		os=-sco3.2v5
          189  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          190  +		;;
          191  +	-sco4)
          192  +		os=-sco3.2v4
          193  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          194  +		;;
          195  +	-sco3.2.[4-9]*)
          196  +		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
          197  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          198  +		;;
          199  +	-sco3.2v[4-9]*)
          200  +		# Don't forget version if it is 3.2v4 or newer.
          201  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          202  +		;;
          203  +	-sco5v6*)
          204  +		# Don't forget version if it is 3.2v4 or newer.
          205  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          206  +		;;
          207  +	-sco*)
          208  +		os=-sco3.2v2
          209  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          210  +		;;
          211  +	-udk*)
          212  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          213  +		;;
          214  +	-isc)
          215  +		os=-isc2.2
          216  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          217  +		;;
          218  +	-clix*)
          219  +		basic_machine=clipper-intergraph
          220  +		;;
          221  +	-isc*)
          222  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
          223  +		;;
          224  +	-lynx*)
          225  +		os=-lynxos
          226  +		;;
          227  +	-ptx*)
          228  +		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
          229  +		;;
          230  +	-windowsnt*)
          231  +		os=`echo $os | sed -e 's/windowsnt/winnt/'`
          232  +		;;
          233  +	-psos*)
          234  +		os=-psos
          235  +		;;
          236  +	-mint | -mint[0-9]*)
          237  +		basic_machine=m68k-atari
          238  +		os=-mint
          239  +		;;
          240  +esac
          241  +
          242  +# Decode aliases for certain CPU-COMPANY combinations.
          243  +case $basic_machine in
          244  +	# Recognize the basic CPU types without company name.
          245  +	# Some are omitted here because they have special meanings below.
          246  +	1750a | 580 \
          247  +	| a29k \
          248  +	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
          249  +	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
          250  +	| am33_2.0 \
          251  +	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
          252  +	| bfin \
          253  +	| c4x | clipper \
          254  +	| d10v | d30v | dlx | dsp16xx \
          255  +	| fido | fr30 | frv \
          256  +	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
          257  +	| i370 | i860 | i960 | ia64 \
          258  +	| ip2k | iq2000 \
          259  +	| lm32 \
          260  +	| m32c | m32r | m32rle | m68000 | m68k | m88k \
          261  +	| maxq | mb | microblaze | mcore | mep | metag \
          262  +	| mips | mipsbe | mipseb | mipsel | mipsle \
          263  +	| mips16 \
          264  +	| mips64 | mips64el \
          265  +	| mips64octeon | mips64octeonel \
          266  +	| mips64orion | mips64orionel \
          267  +	| mips64r5900 | mips64r5900el \
          268  +	| mips64vr | mips64vrel \
          269  +	| mips64vr4100 | mips64vr4100el \
          270  +	| mips64vr4300 | mips64vr4300el \
          271  +	| mips64vr5000 | mips64vr5000el \
          272  +	| mips64vr5900 | mips64vr5900el \
          273  +	| mipsisa32 | mipsisa32el \
          274  +	| mipsisa32r2 | mipsisa32r2el \
          275  +	| mipsisa64 | mipsisa64el \
          276  +	| mipsisa64r2 | mipsisa64r2el \
          277  +	| mipsisa64sb1 | mipsisa64sb1el \
          278  +	| mipsisa64sr71k | mipsisa64sr71kel \
          279  +	| mipstx39 | mipstx39el \
          280  +	| mn10200 | mn10300 \
          281  +	| moxie \
          282  +	| mt \
          283  +	| msp430 \
          284  +	| nios | nios2 \
          285  +	| ns16k | ns32k \
          286  +	| or32 \
          287  +	| pdp10 | pdp11 | pj | pjl \
          288  +	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
          289  +	| pyramid \
          290  +	| rx \
          291  +	| score \
          292  +	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
          293  +	| sh64 | sh64le \
          294  +	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
          295  +	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
          296  +	| spu | strongarm \
          297  +	| tahoe | thumb | tic4x | tic80 | tron \
          298  +	| ubicom32 \
          299  +	| v850 | v850e \
          300  +	| we32k \
          301  +	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
          302  +	| z8k | z80)
          303  +		basic_machine=$basic_machine-unknown
          304  +		;;
          305  +	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
          306  +		# Motorola 68HC11/12.
          307  +		basic_machine=$basic_machine-unknown
          308  +		os=-none
          309  +		;;
          310  +	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
          311  +		;;
          312  +	ms1)
          313  +		basic_machine=mt-unknown
          314  +		;;
          315  +
          316  +	# We use `pc' rather than `unknown'
          317  +	# because (1) that's what they normally are, and
          318  +	# (2) the word "unknown" tends to confuse beginning users.
          319  +	i*86 | x86_64)
          320  +	  basic_machine=$basic_machine-pc
          321  +	  ;;
          322  +	# Object if more than one company name word.
          323  +	*-*-*)
          324  +		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
          325  +		exit 1
          326  +		;;
          327  +	# Recognize the basic CPU types with company name.
          328  +	580-* \
          329  +	| a29k-* \
          330  +	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
          331  +	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
          332  +	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
          333  +	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
          334  +	| avr-* | avr32-* \
          335  +	| bfin-* | bs2000-* \
          336  +	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
          337  +	| clipper-* | craynv-* | cydra-* \
          338  +	| d10v-* | d30v-* | dlx-* \
          339  +	| elxsi-* \
          340  +	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
          341  +	| h8300-* | h8500-* \
          342  +	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
          343  +	| i*86-* | i860-* | i960-* | ia64-* \
          344  +	| ip2k-* | iq2000-* \
          345  +	| lm32-* \
          346  +	| m32c-* | m32r-* | m32rle-* \
          347  +	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
          348  +	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
          349  +	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
          350  +	| mips16-* \
          351  +	| mips64-* | mips64el-* \
          352  +	| mips64octeon-* | mips64octeonel-* \
          353  +	| mips64orion-* | mips64orionel-* \
          354  +	| mips64r5900-* | mips64r5900el-* \
          355  +	| mips64vr-* | mips64vrel-* \
          356  +	| mips64vr4100-* | mips64vr4100el-* \
          357  +	| mips64vr4300-* | mips64vr4300el-* \
          358  +	| mips64vr5000-* | mips64vr5000el-* \
          359  +	| mips64vr5900-* | mips64vr5900el-* \
          360  +	| mipsisa32-* | mipsisa32el-* \
          361  +	| mipsisa32r2-* | mipsisa32r2el-* \
          362  +	| mipsisa64-* | mipsisa64el-* \
          363  +	| mipsisa64r2-* | mipsisa64r2el-* \
          364  +	| mipsisa64sb1-* | mipsisa64sb1el-* \
          365  +	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
          366  +	| mipstx39-* | mipstx39el-* \
          367  +	| mmix-* \
          368  +	| mt-* \
          369  +	| msp430-* \
          370  +	| nios-* | nios2-* \
          371  +	| none-* | np1-* | ns16k-* | ns32k-* \
          372  +	| orion-* \
          373  +	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
          374  +	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
          375  +	| pyramid-* \
          376  +	| romp-* | rs6000-* | rx-* \
          377  +	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
          378  +	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
          379  +	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
          380  +	| sparclite-* \
          381  +	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
          382  +	| tahoe-* | thumb-* \
          383  +	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
          384  +	| tron-* \
          385  +	| ubicom32-* \
          386  +	| v850-* | v850e-* | vax-* \
          387  +	| we32k-* \
          388  +	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
          389  +	| xstormy16-* | xtensa*-* \
          390  +	| ymp-* \
          391  +	| z8k-* | z80-*)
          392  +		;;
          393  +	# Recognize the basic CPU types without company name, with glob match.
          394  +	xtensa*)
          395  +		basic_machine=$basic_machine-unknown
          396  +		;;
          397  +	# Recognize the various machine names and aliases which stand
          398  +	# for a CPU type and a company and sometimes even an OS.
          399  +	386bsd)
          400  +		basic_machine=i386-unknown
          401  +		os=-bsd
          402  +		;;
          403  +	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
          404  +		basic_machine=m68000-att
          405  +		;;
          406  +	3b*)
          407  +		basic_machine=we32k-att
          408  +		;;
          409  +	a29khif)
          410  +		basic_machine=a29k-amd
          411  +		os=-udi
          412  +		;;
          413  +    	abacus)
          414  +		basic_machine=abacus-unknown
          415  +		;;
          416  +	adobe68k)
          417  +		basic_machine=m68010-adobe
          418  +		os=-scout
          419  +		;;
          420  +	alliant | fx80)
          421  +		basic_machine=fx80-alliant
          422  +		;;
          423  +	altos | altos3068)
          424  +		basic_machine=m68k-altos
          425  +		;;
          426  +	am29k)
          427  +		basic_machine=a29k-none
          428  +		os=-bsd
          429  +		;;
          430  +	amd64)
          431  +		basic_machine=x86_64-pc
          432  +		;;
          433  +	amd64-*)
          434  +		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
          435  +		;;
          436  +	amdahl)
          437  +		basic_machine=580-amdahl
          438  +		os=-sysv
          439  +		;;
          440  +	amiga | amiga-*)
          441  +		basic_machine=m68k-unknown
          442  +		;;
          443  +	amigaos | amigados)
          444  +		basic_machine=m68k-unknown
          445  +		os=-amigaos
          446  +		;;
          447  +	amigaunix | amix)
          448  +		basic_machine=m68k-unknown
          449  +		os=-sysv4
          450  +		;;
          451  +	apollo68)
          452  +		basic_machine=m68k-apollo
          453  +		os=-sysv
          454  +		;;
          455  +	apollo68bsd)
          456  +		basic_machine=m68k-apollo
          457  +		os=-bsd
          458  +		;;
          459  +	aros)
          460  +		basic_machine=i386-pc
          461  +		os=-aros
          462  +		;;
          463  +	aux)
          464  +		basic_machine=m68k-apple
          465  +		os=-aux
          466  +		;;
          467  +	balance)
          468  +		basic_machine=ns32k-sequent
          469  +		os=-dynix
          470  +		;;
          471  +	blackfin)
          472  +		basic_machine=bfin-unknown
          473  +		os=-linux
          474  +		;;
          475  +	blackfin-*)
          476  +		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
          477  +		os=-linux
          478  +		;;
          479  +	bluegene*)
          480  +		basic_machine=powerpc-ibm
          481  +		os=-cnk
          482  +		;;
          483  +	c90)
          484  +		basic_machine=c90-cray
          485  +		os=-unicos
          486  +		;;
          487  +        cegcc)
          488  +		basic_machine=arm-unknown
          489  +		os=-cegcc
          490  +		;;
          491  +	convex-c1)
          492  +		basic_machine=c1-convex
          493  +		os=-bsd
          494  +		;;
          495  +	convex-c2)
          496  +		basic_machine=c2-convex
          497  +		os=-bsd
          498  +		;;
          499  +	convex-c32)
          500  +		basic_machine=c32-convex
          501  +		os=-bsd
          502  +		;;
          503  +	convex-c34)
          504  +		basic_machine=c34-convex
          505  +		os=-bsd
          506  +		;;
          507  +	convex-c38)
          508  +		basic_machine=c38-convex
          509  +		os=-bsd
          510  +		;;
          511  +	cray | j90)
          512  +		basic_machine=j90-cray
          513  +		os=-unicos
          514  +		;;
          515  +	craynv)
          516  +		basic_machine=craynv-cray
          517  +		os=-unicosmp
          518  +		;;
          519  +	cr16)
          520  +		basic_machine=cr16-unknown
          521  +		os=-elf
          522  +		;;
          523  +	crds | unos)
          524  +		basic_machine=m68k-crds
          525  +		;;
          526  +	crisv32 | crisv32-* | etraxfs*)
          527  +		basic_machine=crisv32-axis
          528  +		;;
          529  +	cris | cris-* | etrax*)
          530  +		basic_machine=cris-axis
          531  +		;;
          532  +	crx)
          533  +		basic_machine=crx-unknown
          534  +		os=-elf
          535  +		;;
          536  +	da30 | da30-*)
          537  +		basic_machine=m68k-da30
          538  +		;;
          539  +	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
          540  +		basic_machine=mips-dec
          541  +		;;
          542  +	decsystem10* | dec10*)
          543  +		basic_machine=pdp10-dec
          544  +		os=-tops10
          545  +		;;
          546  +	decsystem20* | dec20*)
          547  +		basic_machine=pdp10-dec
          548  +		os=-tops20
          549  +		;;
          550  +	delta | 3300 | motorola-3300 | motorola-delta \
          551  +	      | 3300-motorola | delta-motorola)
          552  +		basic_machine=m68k-motorola
          553  +		;;
          554  +	delta88)
          555  +		basic_machine=m88k-motorola
          556  +		os=-sysv3
          557  +		;;
          558  +	dicos)
          559  +		basic_machine=i686-pc
          560  +		os=-dicos
          561  +		;;
          562  +	djgpp)
          563  +		basic_machine=i586-pc
          564  +		os=-msdosdjgpp
          565  +		;;
          566  +	dpx20 | dpx20-*)
          567  +		basic_machine=rs6000-bull
          568  +		os=-bosx
          569  +		;;
          570  +	dpx2* | dpx2*-bull)
          571  +		basic_machine=m68k-bull
          572  +		os=-sysv3
          573  +		;;
          574  +	ebmon29k)
          575  +		basic_machine=a29k-amd
          576  +		os=-ebmon
          577  +		;;
          578  +	elxsi)
          579  +		basic_machine=elxsi-elxsi
          580  +		os=-bsd
          581  +		;;
          582  +	encore | umax | mmax)
          583  +		basic_machine=ns32k-encore
          584  +		;;
          585  +	es1800 | OSE68k | ose68k | ose | OSE)
          586  +		basic_machine=m68k-ericsson
          587  +		os=-ose
          588  +		;;
          589  +	fx2800)
          590  +		basic_machine=i860-alliant
          591  +		;;
          592  +	genix)
          593  +		basic_machine=ns32k-ns
          594  +		;;
          595  +	gmicro)
          596  +		basic_machine=tron-gmicro
          597  +		os=-sysv
          598  +		;;
          599  +	go32)
          600  +		basic_machine=i386-pc
          601  +		os=-go32
          602  +		;;
          603  +	h3050r* | hiux*)
          604  +		basic_machine=hppa1.1-hitachi
          605  +		os=-hiuxwe2
          606  +		;;
          607  +	h8300hms)
          608  +		basic_machine=h8300-hitachi
          609  +		os=-hms
          610  +		;;
          611  +	h8300xray)
          612  +		basic_machine=h8300-hitachi
          613  +		os=-xray
          614  +		;;
          615  +	h8500hms)
          616  +		basic_machine=h8500-hitachi
          617  +		os=-hms
          618  +		;;
          619  +	harris)
          620  +		basic_machine=m88k-harris
          621  +		os=-sysv3
          622  +		;;
          623  +	hp300-*)
          624  +		basic_machine=m68k-hp
          625  +		;;
          626  +	hp300bsd)
          627  +		basic_machine=m68k-hp
          628  +		os=-bsd
          629  +		;;
          630  +	hp300hpux)
          631  +		basic_machine=m68k-hp
          632  +		os=-hpux
          633  +		;;
          634  +	hp3k9[0-9][0-9] | hp9[0-9][0-9])
          635  +		basic_machine=hppa1.0-hp
          636  +		;;
          637  +	hp9k2[0-9][0-9] | hp9k31[0-9])
          638  +		basic_machine=m68000-hp
          639  +		;;
          640  +	hp9k3[2-9][0-9])
          641  +		basic_machine=m68k-hp
          642  +		;;
          643  +	hp9k6[0-9][0-9] | hp6[0-9][0-9])
          644  +		basic_machine=hppa1.0-hp
          645  +		;;
          646  +	hp9k7[0-79][0-9] | hp7[0-79][0-9])
          647  +		basic_machine=hppa1.1-hp
          648  +		;;
          649  +	hp9k78[0-9] | hp78[0-9])
          650  +		# FIXME: really hppa2.0-hp
          651  +		basic_machine=hppa1.1-hp
          652  +		;;
          653  +	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
          654  +		# FIXME: really hppa2.0-hp
          655  +		basic_machine=hppa1.1-hp
          656  +		;;
          657  +	hp9k8[0-9][13679] | hp8[0-9][13679])
          658  +		basic_machine=hppa1.1-hp
          659  +		;;
          660  +	hp9k8[0-9][0-9] | hp8[0-9][0-9])
          661  +		basic_machine=hppa1.0-hp
          662  +		;;
          663  +	hppa-next)
          664  +		os=-nextstep3
          665  +		;;
          666  +	hppaosf)
          667  +		basic_machine=hppa1.1-hp
          668  +		os=-osf
          669  +		;;
          670  +	hppro)
          671  +		basic_machine=hppa1.1-hp
          672  +		os=-proelf
          673  +		;;
          674  +	i370-ibm* | ibm*)
          675  +		basic_machine=i370-ibm
          676  +		;;
          677  +# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
          678  +	i*86v32)
          679  +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
          680  +		os=-sysv32
          681  +		;;
          682  +	i*86v4*)
          683  +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
          684  +		os=-sysv4
          685  +		;;
          686  +	i*86v)
          687  +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
          688  +		os=-sysv
          689  +		;;
          690  +	i*86sol2)
          691  +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
          692  +		os=-solaris2
          693  +		;;
          694  +	i386mach)
          695  +		basic_machine=i386-mach
          696  +		os=-mach
          697  +		;;
          698  +	i386-vsta | vsta)
          699  +		basic_machine=i386-unknown
          700  +		os=-vsta
          701  +		;;
          702  +	iris | iris4d)
          703  +		basic_machine=mips-sgi
          704  +		case $os in
          705  +		    -irix*)
          706  +			;;
          707  +		    *)
          708  +			os=-irix4
          709  +			;;
          710  +		esac
          711  +		;;
          712  +	isi68 | isi)
          713  +		basic_machine=m68k-isi
          714  +		os=-sysv
          715  +		;;
          716  +	m68knommu)
          717  +		basic_machine=m68k-unknown
          718  +		os=-linux
          719  +		;;
          720  +	m68knommu-*)
          721  +		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
          722  +		os=-linux
          723  +		;;
          724  +	m88k-omron*)
          725  +		basic_machine=m88k-omron
          726  +		;;
          727  +	magnum | m3230)
          728  +		basic_machine=mips-mips
          729  +		os=-sysv
          730  +		;;
          731  +	merlin)
          732  +		basic_machine=ns32k-utek
          733  +		os=-sysv
          734  +		;;
          735  +        microblaze)
          736  +		basic_machine=microblaze-xilinx
          737  +		;;
          738  +	mingw32)
          739  +		basic_machine=i386-pc
          740  +		os=-mingw32
          741  +		;;
          742  +	mingw32ce)
          743  +		basic_machine=arm-unknown
          744  +		os=-mingw32ce
          745  +		;;
          746  +	miniframe)
          747  +		basic_machine=m68000-convergent
          748  +		;;
          749  +	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
          750  +		basic_machine=m68k-atari
          751  +		os=-mint
          752  +		;;
          753  +	mips3*-*)
          754  +		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
          755  +		;;
          756  +	mips3*)
          757  +		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
          758  +		;;
          759  +	monitor)
          760  +		basic_machine=m68k-rom68k
          761  +		os=-coff
          762  +		;;
          763  +	morphos)
          764  +		basic_machine=powerpc-unknown
          765  +		os=-morphos
          766  +		;;
          767  +	msdos)
          768  +		basic_machine=i386-pc
          769  +		os=-msdos
          770  +		;;
          771  +	ms1-*)
          772  +		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
          773  +		;;
          774  +	mvs)
          775  +		basic_machine=i370-ibm
          776  +		os=-mvs
          777  +		;;
          778  +	ncr3000)
          779  +		basic_machine=i486-ncr
          780  +		os=-sysv4
          781  +		;;
          782  +	netbsd386)
          783  +		basic_machine=i386-unknown
          784  +		os=-netbsd
          785  +		;;
          786  +	netwinder)
          787  +		basic_machine=armv4l-rebel
          788  +		os=-linux
          789  +		;;
          790  +	news | news700 | news800 | news900)
          791  +		basic_machine=m68k-sony
          792  +		os=-newsos
          793  +		;;
          794  +	news1000)
          795  +		basic_machine=m68030-sony
          796  +		os=-newsos
          797  +		;;
          798  +	news-3600 | risc-news)
          799  +		basic_machine=mips-sony
          800  +		os=-newsos
          801  +		;;
          802  +	necv70)
          803  +		basic_machine=v70-nec
          804  +		os=-sysv
          805  +		;;
          806  +	next | m*-next )
          807  +		basic_machine=m68k-next
          808  +		case $os in
          809  +		    -nextstep* )
          810  +			;;
          811  +		    -ns2*)
          812  +		      os=-nextstep2
          813  +			;;
          814  +		    *)
          815  +		      os=-nextstep3
          816  +			;;
          817  +		esac
          818  +		;;
          819  +	nh3000)
          820  +		basic_machine=m68k-harris
          821  +		os=-cxux
          822  +		;;
          823  +	nh[45]000)
          824  +		basic_machine=m88k-harris
          825  +		os=-cxux
          826  +		;;
          827  +	nindy960)
          828  +		basic_machine=i960-intel
          829  +		os=-nindy
          830  +		;;
          831  +	mon960)
          832  +		basic_machine=i960-intel
          833  +		os=-mon960
          834  +		;;
          835  +	nonstopux)
          836  +		basic_machine=mips-compaq
          837  +		os=-nonstopux
          838  +		;;
          839  +	np1)
          840  +		basic_machine=np1-gould
          841  +		;;
          842  +	nsr-tandem)
          843  +		basic_machine=nsr-tandem
          844  +		;;
          845  +	op50n-* | op60c-*)
          846  +		basic_machine=hppa1.1-oki
          847  +		os=-proelf
          848  +		;;
          849  +	openrisc | openrisc-*)
          850  +		basic_machine=or32-unknown
          851  +		;;
          852  +	os400)
          853  +		basic_machine=powerpc-ibm
          854  +		os=-os400
          855  +		;;
          856  +	OSE68000 | ose68000)
          857  +		basic_machine=m68000-ericsson
          858  +		os=-ose
          859  +		;;
          860  +	os68k)
          861  +		basic_machine=m68k-none
          862  +		os=-os68k
          863  +		;;
          864  +	pa-hitachi)
          865  +		basic_machine=hppa1.1-hitachi
          866  +		os=-hiuxwe2
          867  +		;;
          868  +	paragon)
          869  +		basic_machine=i860-intel
          870  +		os=-osf
          871  +		;;
          872  +	parisc)
          873  +		basic_machine=hppa-unknown
          874  +		os=-linux
          875  +		;;
          876  +	parisc-*)
          877  +		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
          878  +		os=-linux
          879  +		;;
          880  +	pbd)
          881  +		basic_machine=sparc-tti
          882  +		;;
          883  +	pbb)
          884  +		basic_machine=m68k-tti
          885  +		;;
          886  +	pc532 | pc532-*)
          887  +		basic_machine=ns32k-pc532
          888  +		;;
          889  +	pc98)
          890  +		basic_machine=i386-pc
          891  +		;;
          892  +	pc98-*)
          893  +		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
          894  +		;;
          895  +	pentium | p5 | k5 | k6 | nexgen | viac3)
          896  +		basic_machine=i586-pc
          897  +		;;
          898  +	pentiumpro | p6 | 6x86 | athlon | athlon_*)
          899  +		basic_machine=i686-pc
          900  +		;;
          901  +	pentiumii | pentium2 | pentiumiii | pentium3)
          902  +		basic_machine=i686-pc
          903  +		;;
          904  +	pentium4)
          905  +		basic_machine=i786-pc
          906  +		;;
          907  +	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
          908  +		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
          909  +		;;
          910  +	pentiumpro-* | p6-* | 6x86-* | athlon-*)
          911  +		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
          912  +		;;
          913  +	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
          914  +		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
          915  +		;;
          916  +	pentium4-*)
          917  +		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
          918  +		;;
          919  +	pn)
          920  +		basic_machine=pn-gould
          921  +		;;
          922  +	power)	basic_machine=power-ibm
          923  +		;;
          924  +	ppc)	basic_machine=powerpc-unknown
          925  +		;;
          926  +	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
          927  +		;;
          928  +	ppcle | powerpclittle | ppc-le | powerpc-little)
          929  +		basic_machine=powerpcle-unknown
          930  +		;;
          931  +	ppcle-* | powerpclittle-*)
          932  +		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
          933  +		;;
          934  +	ppc64)	basic_machine=powerpc64-unknown
          935  +		;;
          936  +	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
          937  +		;;
          938  +	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
          939  +		basic_machine=powerpc64le-unknown
          940  +		;;
          941  +	ppc64le-* | powerpc64little-*)
          942  +		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
          943  +		;;
          944  +	ps2)
          945  +		basic_machine=i386-ibm
          946  +		;;
          947  +	pw32)
          948  +		basic_machine=i586-unknown
          949  +		os=-pw32
          950  +		;;
          951  +	rdos)
          952  +		basic_machine=i386-pc
          953  +		os=-rdos
          954  +		;;
          955  +	rom68k)
          956  +		basic_machine=m68k-rom68k
          957  +		os=-coff
          958  +		;;
          959  +	rm[46]00)
          960  +		basic_machine=mips-siemens
          961  +		;;
          962  +	rtpc | rtpc-*)
          963  +		basic_machine=romp-ibm
          964  +		;;
          965  +	s390 | s390-*)
          966  +		basic_machine=s390-ibm
          967  +		;;
          968  +	s390x | s390x-*)
          969  +		basic_machine=s390x-ibm
          970  +		;;
          971  +	sa29200)
          972  +		basic_machine=a29k-amd
          973  +		os=-udi
          974  +		;;
          975  +	sb1)
          976  +		basic_machine=mipsisa64sb1-unknown
          977  +		;;
          978  +	sb1el)
          979  +		basic_machine=mipsisa64sb1el-unknown
          980  +		;;
          981  +	sde)
          982  +		basic_machine=mipsisa32-sde
          983  +		os=-elf
          984  +		;;
          985  +	sei)
          986  +		basic_machine=mips-sei
          987  +		os=-seiux
          988  +		;;
          989  +	sequent)
          990  +		basic_machine=i386-sequent
          991  +		;;
          992  +	sh)
          993  +		basic_machine=sh-hitachi
          994  +		os=-hms
          995  +		;;
          996  +	sh5el)
          997  +		basic_machine=sh5le-unknown
          998  +		;;
          999  +	sh64)
         1000  +		basic_machine=sh64-unknown
         1001  +		;;
         1002  +	sparclite-wrs | simso-wrs)
         1003  +		basic_machine=sparclite-wrs
         1004  +		os=-vxworks
         1005  +		;;
         1006  +	sps7)
         1007  +		basic_machine=m68k-bull
         1008  +		os=-sysv2
         1009  +		;;
         1010  +	spur)
         1011  +		basic_machine=spur-unknown
         1012  +		;;
         1013  +	st2000)
         1014  +		basic_machine=m68k-tandem
         1015  +		;;
         1016  +	stratus)
         1017  +		basic_machine=i860-stratus
         1018  +		os=-sysv4
         1019  +		;;
         1020  +	sun2)
         1021  +		basic_machine=m68000-sun
         1022  +		;;
         1023  +	sun2os3)
         1024  +		basic_machine=m68000-sun
         1025  +		os=-sunos3
         1026  +		;;
         1027  +	sun2os4)
         1028  +		basic_machine=m68000-sun
         1029  +		os=-sunos4
         1030  +		;;
         1031  +	sun3os3)
         1032  +		basic_machine=m68k-sun
         1033  +		os=-sunos3
         1034  +		;;
         1035  +	sun3os4)
         1036  +		basic_machine=m68k-sun
         1037  +		os=-sunos4
         1038  +		;;
         1039  +	sun4os3)
         1040  +		basic_machine=sparc-sun
         1041  +		os=-sunos3
         1042  +		;;
         1043  +	sun4os4)
         1044  +		basic_machine=sparc-sun
         1045  +		os=-sunos4
         1046  +		;;
         1047  +	sun4sol2)
         1048  +		basic_machine=sparc-sun
         1049  +		os=-solaris2
         1050  +		;;
         1051  +	sun3 | sun3-*)
         1052  +		basic_machine=m68k-sun
         1053  +		;;
         1054  +	sun4)
         1055  +		basic_machine=sparc-sun
         1056  +		;;
         1057  +	sun386 | sun386i | roadrunner)
         1058  +		basic_machine=i386-sun
         1059  +		;;
         1060  +	sv1)
         1061  +		basic_machine=sv1-cray
         1062  +		os=-unicos
         1063  +		;;
         1064  +	symmetry)
         1065  +		basic_machine=i386-sequent
         1066  +		os=-dynix
         1067  +		;;
         1068  +	t3e)
         1069  +		basic_machine=alphaev5-cray
         1070  +		os=-unicos
         1071  +		;;
         1072  +	t90)
         1073  +		basic_machine=t90-cray
         1074  +		os=-unicos
         1075  +		;;
         1076  +	tic54x | c54x*)
         1077  +		basic_machine=tic54x-unknown
         1078  +		os=-coff
         1079  +		;;
         1080  +	tic55x | c55x*)
         1081  +		basic_machine=tic55x-unknown
         1082  +		os=-coff
         1083  +		;;
         1084  +	tic6x | c6x*)
         1085  +		basic_machine=tic6x-unknown
         1086  +		os=-coff
         1087  +		;;
         1088  +	tile*)
         1089  +		basic_machine=tile-unknown
         1090  +		os=-linux-gnu
         1091  +		;;
         1092  +	tx39)
         1093  +		basic_machine=mipstx39-unknown
         1094  +		;;
         1095  +	tx39el)
         1096  +		basic_machine=mipstx39el-unknown
         1097  +		;;
         1098  +	toad1)
         1099  +		basic_machine=pdp10-xkl
         1100  +		os=-tops20
         1101  +		;;
         1102  +	tower | tower-32)
         1103  +		basic_machine=m68k-ncr
         1104  +		;;
         1105  +	tpf)
         1106  +		basic_machine=s390x-ibm
         1107  +		os=-tpf
         1108  +		;;
         1109  +	udi29k)
         1110  +		basic_machine=a29k-amd
         1111  +		os=-udi
         1112  +		;;
         1113  +	ultra3)
         1114  +		basic_machine=a29k-nyu
         1115  +		os=-sym1
         1116  +		;;
         1117  +	v810 | necv810)
         1118  +		basic_machine=v810-nec
         1119  +		os=-none
         1120  +		;;
         1121  +	vaxv)
         1122  +		basic_machine=vax-dec
         1123  +		os=-sysv
         1124  +		;;
         1125  +	vms)
         1126  +		basic_machine=vax-dec
         1127  +		os=-vms
         1128  +		;;
         1129  +	vpp*|vx|vx-*)
         1130  +		basic_machine=f301-fujitsu
         1131  +		;;
         1132  +	vxworks960)
         1133  +		basic_machine=i960-wrs
         1134  +		os=-vxworks
         1135  +		;;
         1136  +	vxworks68)
         1137  +		basic_machine=m68k-wrs
         1138  +		os=-vxworks
         1139  +		;;
         1140  +	vxworks29k)
         1141  +		basic_machine=a29k-wrs
         1142  +		os=-vxworks
         1143  +		;;
         1144  +	w65*)
         1145  +		basic_machine=w65-wdc
         1146  +		os=-none
         1147  +		;;
         1148  +	w89k-*)
         1149  +		basic_machine=hppa1.1-winbond
         1150  +		os=-proelf
         1151  +		;;
         1152  +	xbox)
         1153  +		basic_machine=i686-pc
         1154  +		os=-mingw32
         1155  +		;;
         1156  +	xps | xps100)
         1157  +		basic_machine=xps100-honeywell
         1158  +		;;
         1159  +	ymp)
         1160  +		basic_machine=ymp-cray
         1161  +		os=-unicos
         1162  +		;;
         1163  +	z8k-*-coff)
         1164  +		basic_machine=z8k-unknown
         1165  +		os=-sim
         1166  +		;;
         1167  +	z80-*-coff)
         1168  +		basic_machine=z80-unknown
         1169  +		os=-sim
         1170  +		;;
         1171  +	none)
         1172  +		basic_machine=none-none
         1173  +		os=-none
         1174  +		;;
         1175  +
         1176  +# Here we handle the default manufacturer of certain CPU types.  It is in
         1177  +# some cases the only manufacturer, in others, it is the most popular.
         1178  +	w89k)
         1179  +		basic_machine=hppa1.1-winbond
         1180  +		;;
         1181  +	op50n)
         1182  +		basic_machine=hppa1.1-oki
         1183  +		;;
         1184  +	op60c)
         1185  +		basic_machine=hppa1.1-oki
         1186  +		;;
         1187  +	romp)
         1188  +		basic_machine=romp-ibm
         1189  +		;;
         1190  +	mmix)
         1191  +		basic_machine=mmix-knuth
         1192  +		;;
         1193  +	rs6000)
         1194  +		basic_machine=rs6000-ibm
         1195  +		;;
         1196  +	vax)
         1197  +		basic_machine=vax-dec
         1198  +		;;
         1199  +	pdp10)
         1200  +		# there are many clones, so DEC is not a safe bet
         1201  +		basic_machine=pdp10-unknown
         1202  +		;;
         1203  +	pdp11)
         1204  +		basic_machine=pdp11-dec
         1205  +		;;
         1206  +	we32k)
         1207  +		basic_machine=we32k-att
         1208  +		;;
         1209  +	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
         1210  +		basic_machine=sh-unknown
         1211  +		;;
         1212  +	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
         1213  +		basic_machine=sparc-sun
         1214  +		;;
         1215  +	cydra)
         1216  +		basic_machine=cydra-cydrome
         1217  +		;;
         1218  +	orion)
         1219  +		basic_machine=orion-highlevel
         1220  +		;;
         1221  +	orion105)
         1222  +		basic_machine=clipper-highlevel
         1223  +		;;
         1224  +	mac | mpw | mac-mpw)
         1225  +		basic_machine=m68k-apple
         1226  +		;;
         1227  +	pmac | pmac-mpw)
         1228  +		basic_machine=powerpc-apple
         1229  +		;;
         1230  +	*-unknown)
         1231  +		# Make sure to match an already-canonicalized machine name.
         1232  +		;;
         1233  +	*)
         1234  +		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
         1235  +		exit 1
         1236  +		;;
         1237  +esac
         1238  +
         1239  +# Here we canonicalize certain aliases for manufacturers.
         1240  +case $basic_machine in
         1241  +	*-digital*)
         1242  +		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
         1243  +		;;
         1244  +	*-commodore*)
         1245  +		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
         1246  +		;;
         1247  +	*)
         1248  +		;;
         1249  +esac
         1250  +
         1251  +# Decode manufacturer-specific aliases for certain operating systems.
         1252  +
         1253  +if [ x"$os" != x"" ]
         1254  +then
         1255  +case $os in
         1256  +        # First match some system type aliases
         1257  +        # that might get confused with valid system types.
         1258  +	# -solaris* is a basic system type, with this one exception.
         1259  +        -auroraux)
         1260  +	        os=-auroraux
         1261  +		;;
         1262  +	-solaris1 | -solaris1.*)
         1263  +		os=`echo $os | sed -e 's|solaris1|sunos4|'`
         1264  +		;;
         1265  +	-solaris)
         1266  +		os=-solaris2
         1267  +		;;
         1268  +	-svr4*)
         1269  +		os=-sysv4
         1270  +		;;
         1271  +	-unixware*)
         1272  +		os=-sysv4.2uw
         1273  +		;;
         1274  +	-gnu/linux*)
         1275  +		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
         1276  +		;;
         1277  +	# First accept the basic system types.
         1278  +	# The portable systems comes first.
         1279  +	# Each alternative MUST END IN A *, to match a version number.
         1280  +	# -sysv* is not here because it comes later, after sysvr4.
         1281  +	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
         1282  +	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
         1283  +	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
         1284  +	      | -sym* | -kopensolaris* \
         1285  +	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
         1286  +	      | -aos* | -aros* \
         1287  +	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
         1288  +	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
         1289  +	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
         1290  +	      | -openbsd* | -solidbsd* \
         1291  +	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
         1292  +	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
         1293  +	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
         1294  +	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
         1295  +	      | -chorusos* | -chorusrdb* | -cegcc* \
         1296  +	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
         1297  +	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
         1298  +	      | -uxpv* | -beos* | -mpeix* | -udk* \
         1299  +	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
         1300  +	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
         1301  +	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
         1302  +	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
         1303  +	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
         1304  +	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
         1305  +	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
         1306  +	# Remember, each alternative MUST END IN *, to match a version number.
         1307  +		;;
         1308  +	-qnx*)
         1309  +		case $basic_machine in
         1310  +		    x86-* | i*86-*)
         1311  +			;;
         1312  +		    *)
         1313  +			os=-nto$os
         1314  +			;;
         1315  +		esac
         1316  +		;;
         1317  +	-nto-qnx*)
         1318  +		;;
         1319  +	-nto*)
         1320  +		os=`echo $os | sed -e 's|nto|nto-qnx|'`
         1321  +		;;
         1322  +	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
         1323  +	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
         1324  +	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
         1325  +		;;
         1326  +	-mac*)
         1327  +		os=`echo $os | sed -e 's|mac|macos|'`
         1328  +		;;
         1329  +	-linux-dietlibc)
         1330  +		os=-linux-dietlibc
         1331  +		;;
         1332  +	-linux*)
         1333  +		os=`echo $os | sed -e 's|linux|linux-gnu|'`
         1334  +		;;
         1335  +	-sunos5*)
         1336  +		os=`echo $os | sed -e 's|sunos5|solaris2|'`
         1337  +		;;
         1338  +	-sunos6*)
         1339  +		os=`echo $os | sed -e 's|sunos6|solaris3|'`
         1340  +		;;
         1341  +	-opened*)
         1342  +		os=-openedition
         1343  +		;;
         1344  +        -os400*)
         1345  +		os=-os400
         1346  +		;;
         1347  +	-wince*)
         1348  +		os=-wince
         1349  +		;;
         1350  +	-osfrose*)
         1351  +		os=-osfrose
         1352  +		;;
         1353  +	-osf*)
         1354  +		os=-osf
         1355  +		;;
         1356  +	-utek*)
         1357  +		os=-bsd
         1358  +		;;
         1359  +	-dynix*)
         1360  +		os=-bsd
         1361  +		;;
         1362  +	-acis*)
         1363  +		os=-aos
         1364  +		;;
         1365  +	-atheos*)
         1366  +		os=-atheos
         1367  +		;;
         1368  +	-syllable*)
         1369  +		os=-syllable
         1370  +		;;
         1371  +	-386bsd)
         1372  +		os=-bsd
         1373  +		;;
         1374  +	-ctix* | -uts*)
         1375  +		os=-sysv
         1376  +		;;
         1377  +	-nova*)
         1378  +		os=-rtmk-nova
         1379  +		;;
         1380  +	-ns2 )
         1381  +		os=-nextstep2
         1382  +		;;
         1383  +	-nsk*)
         1384  +		os=-nsk
         1385  +		;;
         1386  +	# Preserve the version number of sinix5.
         1387  +	-sinix5.*)
         1388  +		os=`echo $os | sed -e 's|sinix|sysv|'`
         1389  +		;;
         1390  +	-sinix*)
         1391  +		os=-sysv4
         1392  +		;;
         1393  +        -tpf*)
         1394  +		os=-tpf
         1395  +		;;
         1396  +	-triton*)
         1397  +		os=-sysv3
         1398  +		;;
         1399  +	-oss*)
         1400  +		os=-sysv3
         1401  +		;;
         1402  +	-svr4)
         1403  +		os=-sysv4
         1404  +		;;
         1405  +	-svr3)
         1406  +		os=-sysv3
         1407  +		;;
         1408  +	-sysvr4)
         1409  +		os=-sysv4
         1410  +		;;
         1411  +	# This must come after -sysvr4.
         1412  +	-sysv*)
         1413  +		;;
         1414  +	-ose*)
         1415  +		os=-ose
         1416  +		;;
         1417  +	-es1800*)
         1418  +		os=-ose
         1419  +		;;
         1420  +	-xenix)
         1421  +		os=-xenix
         1422  +		;;
         1423  +	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
         1424  +		os=-mint
         1425  +		;;
         1426  +	-aros*)
         1427  +		os=-aros
         1428  +		;;
         1429  +	-kaos*)
         1430  +		os=-kaos
         1431  +		;;
         1432  +	-zvmoe)
         1433  +		os=-zvmoe
         1434  +		;;
         1435  +	-dicos*)
         1436  +		os=-dicos
         1437  +		;;
         1438  +	-none)
         1439  +		;;
         1440  +	*)
         1441  +		# Get rid of the `-' at the beginning of $os.
         1442  +		os=`echo $os | sed 's/[^-]*-//'`
         1443  +		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
         1444  +		exit 1
         1445  +		;;
         1446  +esac
         1447  +else
         1448  +
         1449  +# Here we handle the default operating systems that come with various machines.
         1450  +# The value should be what the vendor currently ships out the door with their
         1451  +# machine or put another way, the most popular os provided with the machine.
         1452  +
         1453  +# Note that if you're going to try to match "-MANUFACTURER" here (say,
         1454  +# "-sun"), then you have to tell the case statement up towards the top
         1455  +# that MANUFACTURER isn't an operating system.  Otherwise, code above
         1456  +# will signal an error saying that MANUFACTURER isn't an operating
         1457  +# system, and we'll never get to this point.
         1458  +
         1459  +case $basic_machine in
         1460  +        score-*)
         1461  +		os=-elf
         1462  +		;;
         1463  +        spu-*)
         1464  +		os=-elf
         1465  +		;;
         1466  +	*-acorn)
         1467  +		os=-riscix1.2
         1468  +		;;
         1469  +	arm*-rebel)
         1470  +		os=-linux
         1471  +		;;
         1472  +	arm*-semi)
         1473  +		os=-aout
         1474  +		;;
         1475  +        c4x-* | tic4x-*)
         1476  +        	os=-coff
         1477  +		;;
         1478  +	# This must come before the *-dec entry.
         1479  +	pdp10-*)
         1480  +		os=-tops20
         1481  +		;;
         1482  +	pdp11-*)
         1483  +		os=-none
         1484  +		;;
         1485  +	*-dec | vax-*)
         1486  +		os=-ultrix4.2
         1487  +		;;
         1488  +	m68*-apollo)
         1489  +		os=-domain
         1490  +		;;
         1491  +	i386-sun)
         1492  +		os=-sunos4.0.2
         1493  +		;;
         1494  +	m68000-sun)
         1495  +		os=-sunos3
         1496  +		# This also exists in the configure program, but was not the
         1497  +		# default.
         1498  +		# os=-sunos4
         1499  +		;;
         1500  +	m68*-cisco)
         1501  +		os=-aout
         1502  +		;;
         1503  +        mep-*)
         1504  +		os=-elf
         1505  +		;;
         1506  +	mips*-cisco)
         1507  +		os=-elf
         1508  +		;;
         1509  +	mips*-*)
         1510  +		os=-elf
         1511  +		;;
         1512  +	or32-*)
         1513  +		os=-coff
         1514  +		;;
         1515  +	*-tti)	# must be before sparc entry or we get the wrong os.
         1516  +		os=-sysv3
         1517  +		;;
         1518  +	sparc-* | *-sun)
         1519  +		os=-sunos4.1.1
         1520  +		;;
         1521  +	*-be)
         1522  +		os=-beos
         1523  +		;;
         1524  +	*-haiku)
         1525  +		os=-haiku
         1526  +		;;
         1527  +	*-ibm)
         1528  +		os=-aix
         1529  +		;;
         1530  +    	*-knuth)
         1531  +		os=-mmixware
         1532  +		;;
         1533  +	*-wec)
         1534  +		os=-proelf
         1535  +		;;
         1536  +	*-winbond)
         1537  +		os=-proelf
         1538  +		;;
         1539  +	*-oki)
         1540  +		os=-proelf
         1541  +		;;
         1542  +	*-hp)
         1543  +		os=-hpux
         1544  +		;;
         1545  +	*-hitachi)
         1546  +		os=-hiux
         1547  +		;;
         1548  +	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
         1549  +		os=-sysv
         1550  +		;;
         1551  +	*-cbm)
         1552  +		os=-amigaos
         1553  +		;;
         1554  +	*-dg)
         1555  +		os=-dgux
         1556  +		;;
         1557  +	*-dolphin)
         1558  +		os=-sysv3
         1559  +		;;
         1560  +	m68k-ccur)
         1561  +		os=-rtu
         1562  +		;;
         1563  +	m88k-omron*)
         1564  +		os=-luna
         1565  +		;;
         1566  +	*-next )
         1567  +		os=-nextstep
         1568  +		;;
         1569  +	*-sequent)
         1570  +		os=-ptx
         1571  +		;;
         1572  +	*-crds)
         1573  +		os=-unos
         1574  +		;;
         1575  +	*-ns)
         1576  +		os=-genix
         1577  +		;;
         1578  +	i370-*)
         1579  +		os=-mvs
         1580  +		;;
         1581  +	*-next)
         1582  +		os=-nextstep3
         1583  +		;;
         1584  +	*-gould)
         1585  +		os=-sysv
         1586  +		;;
         1587  +	*-highlevel)
         1588  +		os=-bsd
         1589  +		;;
         1590  +	*-encore)
         1591  +		os=-bsd
         1592  +		;;
         1593  +	*-sgi)
         1594  +		os=-irix
         1595  +		;;
         1596  +	*-siemens)
         1597  +		os=-sysv4
         1598  +		;;
         1599  +	*-masscomp)
         1600  +		os=-rtu
         1601  +		;;
         1602  +	f30[01]-fujitsu | f700-fujitsu)
         1603  +		os=-uxpv
         1604  +		;;
         1605  +	*-rom68k)
         1606  +		os=-coff
         1607  +		;;
         1608  +	*-*bug)
         1609  +		os=-coff
         1610  +		;;
         1611  +	*-apple)
         1612  +		os=-macos
         1613  +		;;
         1614  +	*-atari*)
         1615  +		os=-mint
         1616  +		;;
         1617  +	*)
         1618  +		os=-none
         1619  +		;;
         1620  +esac
         1621  +fi
         1622  +
         1623  +# Here we handle the case where we know the os, and the CPU type, but not the
         1624  +# manufacturer.  We pick the logical manufacturer.
         1625  +vendor=unknown
         1626  +case $basic_machine in
         1627  +	*-unknown)
         1628  +		case $os in
         1629  +			-riscix*)
         1630  +				vendor=acorn
         1631  +				;;
         1632  +			-sunos*)
         1633  +				vendor=sun
         1634  +				;;
         1635  +			-cnk*|-aix*)
         1636  +				vendor=ibm
         1637  +				;;
         1638  +			-beos*)
         1639  +				vendor=be
         1640  +				;;
         1641  +			-hpux*)
         1642  +				vendor=hp
         1643  +				;;
         1644  +			-mpeix*)
         1645  +				vendor=hp
         1646  +				;;
         1647  +			-hiux*)
         1648  +				vendor=hitachi
         1649  +				;;
         1650  +			-unos*)
         1651  +				vendor=crds
         1652  +				;;
         1653  +			-dgux*)
         1654  +				vendor=dg
         1655  +				;;
         1656  +			-luna*)
         1657  +				vendor=omron
         1658  +				;;
         1659  +			-genix*)
         1660  +				vendor=ns
         1661  +				;;
         1662  +			-mvs* | -opened*)
         1663  +				vendor=ibm
         1664  +				;;
         1665  +			-os400*)
         1666  +				vendor=ibm
         1667  +				;;
         1668  +			-ptx*)
         1669  +				vendor=sequent
         1670  +				;;
         1671  +			-tpf*)
         1672  +				vendor=ibm
         1673  +				;;
         1674  +			-vxsim* | -vxworks* | -windiss*)
         1675  +				vendor=wrs
         1676  +				;;
         1677  +			-aux*)
         1678  +				vendor=apple
         1679  +				;;
         1680  +			-hms*)
         1681  +				vendor=hitachi
         1682  +				;;
         1683  +			-mpw* | -macos*)
         1684  +				vendor=apple
         1685  +				;;
         1686  +			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
         1687  +				vendor=atari
         1688  +				;;
         1689  +			-vos*)
         1690  +				vendor=stratus
         1691  +				;;
         1692  +		esac
         1693  +		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
         1694  +		;;
         1695  +esac
         1696  +
         1697  +echo $basic_machine$os
         1698  +exit
         1699  +
         1700  +# Local variables:
         1701  +# eval: (add-hook 'write-file-hooks 'time-stamp)
         1702  +# time-stamp-start: "timestamp='"
         1703  +# time-stamp-format: "%:y-%02m-%02d"
         1704  +# time-stamp-end: "'"
         1705  +# End:

Added configure.

more than 10,000 changes

Added configure.ac.

            1  +#                                               -*- Autoconf -*-
            2  +# Process this file with autoconf to produce a configure script.
            3  +
            4  +AC_PREREQ(2.61)
            5  +AC_INIT(readosm, 1.0.0d, a.furieri@lqt.it)
            6  +AC_LANG(C)
            7  +AC_CONFIG_AUX_DIR([.])
            8  +AC_CONFIG_MACRO_DIR([m4])
            9  +
           10  +AM_INIT_AUTOMAKE
           11  +AM_MAINTAINER_MODE
           12  +AM_CONFIG_HEADER(config.h)
           13  +
           14  +
           15  +# Checks for header files.
           16  +AC_CHECK_HEADERS(stdlib.h,, [AC_MSG_ERROR([cannot find stdlib.h, bailing out])])
           17  +AC_CHECK_HEADERS(stdio.h,, [AC_MSG_ERROR([cannot find stdio.h, bailing out])])
           18  +AC_CHECK_HEADERS(memory.h,, [AC_MSG_ERROR([cannot find memory.h, bailing out])])
           19  +
           20  +
           21  +# Checks for programs.
           22  +AC_PROG_CXX
           23  +AC_PROG_CC
           24  +AC_PROG_CPP
           25  +AC_PROG_INSTALL
           26  +AC_PROG_LN_S
           27  +AC_PROG_MAKE_SET
           28  +AC_LIBTOOL_WIN32_DLL
           29  +AC_PROG_LIBTOOL
           30  +
           31  +# Checks for typedefs, structures, and compiler characteristics.
           32  +AC_C_CONST
           33  +AC_TYPE_OFF_T
           34  +AC_TYPE_SIZE_T
           35  +AC_HEADER_TIME
           36  +AC_STRUCT_TM
           37  +AC_C_VOLATILE
           38  +
           39  +# Checks for library functions.
           40  +AC_FUNC_LSTAT
           41  +AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
           42  +AC_FUNC_MEMCMP
           43  +AC_FUNC_STAT
           44  +AC_FUNC_STRFTIME
           45  +AC_CHECK_FUNCS([sqrt strcasecmp strerror strncasecmp strstr strerror])
           46  +
           47  +# gcov support
           48  +AC_ARG_ENABLE(gcov, AC_HELP_STRING([--enable-gcov],[turn on code coverage analysis tools]))
           49  +if test "x$enable_gcov" = "xyes"; then
           50  +    dnl Check for -fprofile-arcs and -ftest-coverage option
           51  +    CFLAGS=$CFLAGS" -fprofile-arcs -ftest-coverage -g"
           52  +    GCOV_FLAGS="-lgcov"
           53  +fi
           54  + 
           55  +AC_CONFIG_FILES([Makefile \
           56  +		headers/Makefile \
           57  +		src/Makefile \
           58  +		tests/Makefile \
           59  +		examples/Makefile \
           60  +		Doxyfile \
           61  +		readosm.pc])
           62  +
           63  +
           64  +AC_CHECK_HEADERS(expat.h,, [AC_MSG_ERROR([cannot find expat.h, bailing out])])
           65  +AC_CHECK_LIB(expat,XML_ParserCreate,,AC_MSG_ERROR(['expat' is required but it doesn't seem to be installed on this system.]))
           66  +AC_CHECK_HEADERS(zlib.h,, [AC_MSG_ERROR([cannot find libz.h, bailing out])])
           67  +AC_CHECK_LIB(z,uncompress,,AC_MSG_ERROR(['libz' is required but it doesn't seem to be installed on this system.]))
           68  +
           69  +AC_OUTPUT

Added depcomp.

            1  +#! /bin/sh
            2  +# depcomp - compile a program generating dependencies as side-effects
            3  +
            4  +scriptversion=2009-04-28.21; # UTC
            5  +
            6  +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
            7  +# Software Foundation, Inc.
            8  +
            9  +# This program is free software; you can redistribute it and/or modify
           10  +# it under the terms of the GNU General Public License as published by
           11  +# the Free Software Foundation; either version 2, or (at your option)
           12  +# any later version.
           13  +
           14  +# This program is distributed in the hope that it will be useful,
           15  +# but WITHOUT ANY WARRANTY; without even the implied warranty of
           16  +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           17  +# GNU General Public License for more details.
           18  +
           19  +# You should have received a copy of the GNU General Public License
           20  +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
           21  +
           22  +# As a special exception to the GNU General Public License, if you
           23  +# distribute this file as part of a program that contains a
           24  +# configuration script generated by Autoconf, you may include it under
           25  +# the same distribution terms that you use for the rest of that program.
           26  +
           27  +# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
           28  +
           29  +case $1 in
           30  +  '')
           31  +     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
           32  +     exit 1;
           33  +     ;;
           34  +  -h | --h*)
           35  +    cat <<\EOF
           36  +Usage: depcomp [--help] [--version] PROGRAM [ARGS]
           37  +
           38  +Run PROGRAMS ARGS to compile a file, generating dependencies
           39  +as side-effects.
           40  +
           41  +Environment variables:
           42  +  depmode     Dependency tracking mode.
           43  +  source      Source file read by `PROGRAMS ARGS'.
           44  +  object      Object file output by `PROGRAMS ARGS'.
           45  +  DEPDIR      directory where to store dependencies.
           46  +  depfile     Dependency file to output.
           47  +  tmpdepfile  Temporary file to use when outputing dependencies.
           48  +  libtool     Whether libtool is used (yes/no).
           49  +
           50  +Report bugs to <bug-automake@gnu.org>.
           51  +EOF
           52  +    exit $?
           53  +    ;;
           54  +  -v | --v*)
           55  +    echo "depcomp $scriptversion"
           56  +    exit $?
           57  +    ;;
           58  +esac
           59  +
           60  +if test -z "$depmode" || test -z "$source" || test -z "$object"; then
           61  +  echo "depcomp: Variables source, object and depmode must be set" 1>&2
           62  +  exit 1
           63  +fi
           64  +
           65  +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
           66  +depfile=${depfile-`echo "$object" |
           67  +  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
           68  +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
           69  +
           70  +rm -f "$tmpdepfile"
           71  +
           72  +# Some modes work just like other modes, but use different flags.  We
           73  +# parameterize here, but still list the modes in the big case below,
           74  +# to make depend.m4 easier to write.  Note that we *cannot* use a case
           75  +# here, because this file can only contain one case statement.
           76  +if test "$depmode" = hp; then
           77  +  # HP compiler uses -M and no extra arg.
           78  +  gccflag=-M
           79  +  depmode=gcc
           80  +fi
           81  +
           82  +if test "$depmode" = dashXmstdout; then
           83  +   # This is just like dashmstdout with a different argument.
           84  +   dashmflag=-xM
           85  +   depmode=dashmstdout
           86  +fi
           87  +
           88  +cygpath_u="cygpath -u -f -"
           89  +if test "$depmode" = msvcmsys; then
           90  +   # This is just like msvisualcpp but w/o cygpath translation.
           91  +   # Just convert the backslash-escaped backslashes to single forward
           92  +   # slashes to satisfy depend.m4
           93  +   cygpath_u="sed s,\\\\\\\\,/,g"
           94  +   depmode=msvisualcpp
           95  +fi
           96  +
           97  +case "$depmode" in
           98  +gcc3)
           99  +## gcc 3 implements dependency tracking that does exactly what
          100  +## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
          101  +## it if -MD -MP comes after the -MF stuff.  Hmm.
          102  +## Unfortunately, FreeBSD c89 acceptance of flags depends upon
          103  +## the command line argument order; so add the flags where they
          104  +## appear in depend2.am.  Note that the slowdown incurred here
          105  +## affects only configure: in makefiles, %FASTDEP% shortcuts this.
          106  +  for arg
          107  +  do
          108  +    case $arg in
          109  +    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
          110  +    *)  set fnord "$@" "$arg" ;;
          111  +    esac
          112  +    shift # fnord
          113  +    shift # $arg
          114  +  done
          115  +  "$@"
          116  +  stat=$?
          117  +  if test $stat -eq 0; then :
          118  +  else
          119  +    rm -f "$tmpdepfile"
          120  +    exit $stat
          121  +  fi
          122  +  mv "$tmpdepfile" "$depfile"
          123  +  ;;
          124  +
          125  +gcc)
          126  +## There are various ways to get dependency output from gcc.  Here's
          127  +## why we pick this rather obscure method:
          128  +## - Don't want to use -MD because we'd like the dependencies to end
          129  +##   up in a subdir.  Having to rename by hand is ugly.
          130  +##   (We might end up doing this anyway to support other compilers.)
          131  +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
          132  +##   -MM, not -M (despite what the docs say).
          133  +## - Using -M directly means running the compiler twice (even worse
          134  +##   than renaming).
          135  +  if test -z "$gccflag"; then
          136  +    gccflag=-MD,
          137  +  fi
          138  +  "$@" -Wp,"$gccflag$tmpdepfile"
          139  +  stat=$?
          140  +  if test $stat -eq 0; then :
          141  +  else
          142  +    rm -f "$tmpdepfile"
          143  +    exit $stat
          144  +  fi
          145  +  rm -f "$depfile"
          146  +  echo "$object : \\" > "$depfile"
          147  +  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
          148  +## The second -e expression handles DOS-style file names with drive letters.
          149  +  sed -e 's/^[^:]*: / /' \
          150  +      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
          151  +## This next piece of magic avoids the `deleted header file' problem.
          152  +## The problem is that when a header file which appears in a .P file
          153  +## is deleted, the dependency causes make to die (because there is
          154  +## typically no way to rebuild the header).  We avoid this by adding
          155  +## dummy dependencies for each header file.  Too bad gcc doesn't do
          156  +## this for us directly.
          157  +  tr ' ' '
          158  +' < "$tmpdepfile" |
          159  +## Some versions of gcc put a space before the `:'.  On the theory
          160  +## that the space means something, we add a space to the output as
          161  +## well.
          162  +## Some versions of the HPUX 10.20 sed can't process this invocation
          163  +## correctly.  Breaking it into two sed invocations is a workaround.
          164  +    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
          165  +  rm -f "$tmpdepfile"
          166  +  ;;
          167  +
          168  +hp)
          169  +  # This case exists only to let depend.m4 do its work.  It works by
          170  +  # looking at the text of this script.  This case will never be run,
          171  +  # since it is checked for above.
          172  +  exit 1
          173  +  ;;
          174  +
          175  +sgi)
          176  +  if test "$libtool" = yes; then
          177  +    "$@" "-Wp,-MDupdate,$tmpdepfile"
          178  +  else
          179  +    "$@" -MDupdate "$tmpdepfile"
          180  +  fi
          181  +  stat=$?
          182  +  if test $stat -eq 0; then :
          183  +  else
          184  +    rm -f "$tmpdepfile"
          185  +    exit $stat
          186  +  fi
          187  +  rm -f "$depfile"
          188  +
          189  +  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
          190  +    echo "$object : \\" > "$depfile"
          191  +
          192  +    # Clip off the initial element (the dependent).  Don't try to be
          193  +    # clever and replace this with sed code, as IRIX sed won't handle
          194  +    # lines with more than a fixed number of characters (4096 in
          195  +    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
          196  +    # the IRIX cc adds comments like `#:fec' to the end of the
          197  +    # dependency line.
          198  +    tr ' ' '
          199  +' < "$tmpdepfile" \
          200  +    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
          201  +    tr '
          202  +' ' ' >> "$depfile"
          203  +    echo >> "$depfile"
          204  +
          205  +    # The second pass generates a dummy entry for each header file.
          206  +    tr ' ' '
          207  +' < "$tmpdepfile" \
          208  +   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
          209  +   >> "$depfile"
          210  +  else
          211  +    # The sourcefile does not contain any dependencies, so just
          212  +    # store a dummy comment line, to avoid errors with the Makefile
          213  +    # "include basename.Plo" scheme.
          214  +    echo "#dummy" > "$depfile"
          215  +  fi
          216  +  rm -f "$tmpdepfile"
          217  +  ;;
          218  +
          219  +aix)
          220  +  # The C for AIX Compiler uses -M and outputs the dependencies
          221  +  # in a .u file.  In older versions, this file always lives in the
          222  +  # current directory.  Also, the AIX compiler puts `$object:' at the
          223  +  # start of each line; $object doesn't have directory information.
          224  +  # Version 6 uses the directory in both cases.
          225  +  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
          226  +  test "x$dir" = "x$object" && dir=
          227  +  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
          228  +  if test "$libtool" = yes; then
          229  +    tmpdepfile1=$dir$base.u
          230  +    tmpdepfile2=$base.u
          231  +    tmpdepfile3=$dir.libs/$base.u
          232  +    "$@" -Wc,-M
          233  +  else
          234  +    tmpdepfile1=$dir$base.u
          235  +    tmpdepfile2=$dir$base.u
          236  +    tmpdepfile3=$dir$base.u
          237  +    "$@" -M
          238  +  fi
          239  +  stat=$?
          240  +
          241  +  if test $stat -eq 0; then :
          242  +  else
          243  +    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
          244  +    exit $stat
          245  +  fi
          246  +
          247  +  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
          248  +  do
          249  +    test -f "$tmpdepfile" && break
          250  +  done
          251  +  if test -f "$tmpdepfile"; then
          252  +    # Each line is of the form `foo.o: dependent.h'.
          253  +    # Do two passes, one to just change these to
          254  +    # `$object: dependent.h' and one to simply `dependent.h:'.
          255  +    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
          256  +    # That's a tab and a space in the [].
          257  +    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
          258  +  else
          259  +    # The sourcefile does not contain any dependencies, so just
          260  +    # store a dummy comment line, to avoid errors with the Makefile
          261  +    # "include basename.Plo" scheme.
          262  +    echo "#dummy" > "$depfile"
          263  +  fi
          264  +  rm -f "$tmpdepfile"
          265  +  ;;
          266  +
          267  +icc)
          268  +  # Intel's C compiler understands `-MD -MF file'.  However on
          269  +  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
          270  +  # ICC 7.0 will fill foo.d with something like
          271  +  #    foo.o: sub/foo.c
          272  +  #    foo.o: sub/foo.h
          273  +  # which is wrong.  We want:
          274  +  #    sub/foo.o: sub/foo.c
          275  +  #    sub/foo.o: sub/foo.h
          276  +  #    sub/foo.c:
          277  +  #    sub/foo.h:
          278  +  # ICC 7.1 will output
          279  +  #    foo.o: sub/foo.c sub/foo.h
          280  +  # and will wrap long lines using \ :
          281  +  #    foo.o: sub/foo.c ... \
          282  +  #     sub/foo.h ... \
          283  +  #     ...
          284  +
          285  +  "$@" -MD -MF "$tmpdepfile"
          286  +  stat=$?
          287  +  if test $stat -eq 0; then :
          288  +  else
          289  +    rm -f "$tmpdepfile"
          290  +    exit $stat
          291  +  fi
          292  +  rm -f "$depfile"
          293  +  # Each line is of the form `foo.o: dependent.h',
          294  +  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
          295  +  # Do two passes, one to just change these to
          296  +  # `$object: dependent.h' and one to simply `dependent.h:'.
          297  +  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
          298  +  # Some versions of the HPUX 10.20 sed can't process this invocation
          299  +  # correctly.  Breaking it into two sed invocations is a workaround.
          300  +  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
          301  +    sed -e 's/$/ :/' >> "$depfile"
          302  +  rm -f "$tmpdepfile"
          303  +  ;;
          304  +
          305  +hp2)
          306  +  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
          307  +  # compilers, which have integrated preprocessors.  The correct option
          308  +  # to use with these is +Maked; it writes dependencies to a file named
          309  +  # 'foo.d', which lands next to the object file, wherever that
          310  +  # happens to be.
          311  +  # Much of this is similar to the tru64 case; see comments there.
          312  +  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
          313  +  test "x$dir" = "x$object" && dir=
          314  +  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
          315  +  if test "$libtool" = yes; then
          316  +    tmpdepfile1=$dir$base.d
          317  +    tmpdepfile2=$dir.libs/$base.d
          318  +    "$@" -Wc,+Maked
          319  +  else
          320  +    tmpdepfile1=$dir$base.d
          321  +    tmpdepfile2=$dir$base.d
          322  +    "$@" +Maked
          323  +  fi
          324  +  stat=$?
          325  +  if test $stat -eq 0; then :
          326  +  else
          327  +     rm -f "$tmpdepfile1" "$tmpdepfile2"
          328  +     exit $stat
          329  +  fi
          330  +
          331  +  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
          332  +  do
          333  +    test -f "$tmpdepfile" && break
          334  +  done
          335  +  if test -f "$tmpdepfile"; then
          336  +    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
          337  +    # Add `dependent.h:' lines.
          338  +    sed -ne '2,${
          339  +	       s/^ *//
          340  +	       s/ \\*$//
          341  +	       s/$/:/
          342  +	       p
          343  +	     }' "$tmpdepfile" >> "$depfile"
          344  +  else
          345  +    echo "#dummy" > "$depfile"
          346  +  fi
          347  +  rm -f "$tmpdepfile" "$tmpdepfile2"
          348  +  ;;
          349  +
          350  +tru64)
          351  +   # The Tru64 compiler uses -MD to generate dependencies as a side
          352  +   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
          353  +   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
          354  +   # dependencies in `foo.d' instead, so we check for that too.
          355  +   # Subdirectories are respected.
          356  +   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
          357  +   test "x$dir" = "x$object" && dir=
          358  +   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
          359  +
          360  +   if test "$libtool" = yes; then
          361  +      # With Tru64 cc, shared objects can also be used to make a
          362  +      # static library.  This mechanism is used in libtool 1.4 series to
          363  +      # handle both shared and static libraries in a single compilation.
          364  +      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
          365  +      #
          366  +      # With libtool 1.5 this exception was removed, and libtool now
          367  +      # generates 2 separate objects for the 2 libraries.  These two
          368  +      # compilations output dependencies in $dir.libs/$base.o.d and
          369  +      # in $dir$base.o.d.  We have to check for both files, because
          370  +      # one of the two compilations can be disabled.  We should prefer
          371  +      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
          372  +      # automatically cleaned when .libs/ is deleted, while ignoring
          373  +      # the former would cause a distcleancheck panic.
          374  +      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
          375  +      tmpdepfile2=$dir$base.o.d          # libtool 1.5
          376  +      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
          377  +      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
          378  +      "$@" -Wc,-MD
          379  +   else
          380  +      tmpdepfile1=$dir$base.o.d
          381  +      tmpdepfile2=$dir$base.d
          382  +      tmpdepfile3=$dir$base.d
          383  +      tmpdepfile4=$dir$base.d
          384  +      "$@" -MD
          385  +   fi
          386  +
          387  +   stat=$?
          388  +   if test $stat -eq 0; then :
          389  +   else
          390  +      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
          391  +      exit $stat
          392  +   fi
          393  +
          394  +   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
          395  +   do
          396  +     test -f "$tmpdepfile" && break
          397  +   done
          398  +   if test -f "$tmpdepfile"; then
          399  +      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
          400  +      # That's a tab and a space in the [].
          401  +      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
          402  +   else
          403  +      echo "#dummy" > "$depfile"
          404  +   fi
          405  +   rm -f "$tmpdepfile"
          406  +   ;;
          407  +
          408  +#nosideeffect)
          409  +  # This comment above is used by automake to tell side-effect
          410  +  # dependency tracking mechanisms from slower ones.
          411  +
          412  +dashmstdout)
          413  +  # Important note: in order to support this mode, a compiler *must*
          414  +  # always write the preprocessed file to stdout, regardless of -o.
          415  +  "$@" || exit $?
          416  +
          417  +  # Remove the call to Libtool.
          418  +  if test "$libtool" = yes; then
          419  +    while test "X$1" != 'X--mode=compile'; do
          420  +      shift
          421  +    done
          422  +    shift
          423  +  fi
          424  +
          425  +  # Remove `-o $object'.
          426  +  IFS=" "
          427  +  for arg
          428  +  do
          429  +    case $arg in
          430  +    -o)
          431  +      shift
          432  +      ;;
          433  +    $object)
          434  +      shift
          435  +      ;;
          436  +    *)
          437  +      set fnord "$@" "$arg"
          438  +      shift # fnord
          439  +      shift # $arg
          440  +      ;;
          441  +    esac
          442  +  done
          443  +
          444  +  test -z "$dashmflag" && dashmflag=-M
          445  +  # Require at least two characters before searching for `:'
          446  +  # in the target name.  This is to cope with DOS-style filenames:
          447  +  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
          448  +  "$@" $dashmflag |
          449  +    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
          450  +  rm -f "$depfile"
          451  +  cat < "$tmpdepfile" > "$depfile"
          452  +  tr ' ' '
          453  +' < "$tmpdepfile" | \
          454  +## Some versions of the HPUX 10.20 sed can't process this invocation
          455  +## correctly.  Breaking it into two sed invocations is a workaround.
          456  +    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
          457  +  rm -f "$tmpdepfile"
          458  +  ;;
          459  +
          460  +dashXmstdout)
          461  +  # This case only exists to satisfy depend.m4.  It is never actually
          462  +  # run, as this mode is specially recognized in the preamble.
          463  +  exit 1
          464  +  ;;
          465  +
          466  +makedepend)
          467  +  "$@" || exit $?
          468  +  # Remove any Libtool call
          469  +  if test "$libtool" = yes; then
          470  +    while test "X$1" != 'X--mode=compile'; do
          471  +      shift
          472  +    done
          473  +    shift
          474  +  fi
          475  +  # X makedepend
          476  +  shift
          477  +  cleared=no eat=no
          478  +  for arg
          479  +  do
          480  +    case $cleared in
          481  +    no)
          482  +      set ""; shift
          483  +      cleared=yes ;;
          484  +    esac
          485  +    if test $eat = yes; then
          486  +      eat=no
          487  +      continue
          488  +    fi
          489  +    case "$arg" in
          490  +    -D*|-I*)
          491  +      set fnord "$@" "$arg"; shift ;;
          492  +    # Strip any option that makedepend may not understand.  Remove
          493  +    # the object too, otherwise makedepend will parse it as a source file.
          494  +    -arch)
          495  +      eat=yes ;;
          496  +    -*|$object)
          497  +      ;;
          498  +    *)
          499  +      set fnord "$@" "$arg"; shift ;;
          500  +    esac
          501  +  done
          502  +  obj_suffix=`echo "$object" | sed 's/^.*\././'`
          503  +  touch "$tmpdepfile"
          504  +  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
          505  +  rm -f "$depfile"
          506  +  cat < "$tmpdepfile" > "$depfile"
          507  +  sed '1,2d' "$tmpdepfile" | tr ' ' '
          508  +' | \
          509  +## Some versions of the HPUX 10.20 sed can't process this invocation
          510  +## correctly.  Breaking it into two sed invocations is a workaround.
          511  +    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
          512  +  rm -f "$tmpdepfile" "$tmpdepfile".bak
          513  +  ;;
          514  +
          515  +cpp)
          516  +  # Important note: in order to support this mode, a compiler *must*
          517  +  # always write the preprocessed file to stdout.
          518  +  "$@" || exit $?
          519  +
          520  +  # Remove the call to Libtool.
          521  +  if test "$libtool" = yes; then
          522  +    while test "X$1" != 'X--mode=compile'; do
          523  +      shift
          524  +    done
          525  +    shift
          526  +  fi
          527  +
          528  +  # Remove `-o $object'.
          529  +  IFS=" "
          530  +  for arg
          531  +  do
          532  +    case $arg in
          533  +    -o)
          534  +      shift
          535  +      ;;
          536  +    $object)
          537  +      shift
          538  +      ;;
          539  +    *)
          540  +      set fnord "$@" "$arg"
          541  +      shift # fnord
          542  +      shift # $arg
          543  +      ;;
          544  +    esac
          545  +  done
          546  +
          547  +  "$@" -E |
          548  +    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
          549  +       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
          550  +    sed '$ s: \\$::' > "$tmpdepfile"
          551  +  rm -f "$depfile"
          552  +  echo "$object : \\" > "$depfile"
          553  +  cat < "$tmpdepfile" >> "$depfile"
          554  +  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
          555  +  rm -f "$tmpdepfile"
          556  +  ;;
          557  +
          558  +msvisualcpp)
          559  +  # Important note: in order to support this mode, a compiler *must*
          560  +  # always write the preprocessed file to stdout.
          561  +  "$@" || exit $?
          562  +
          563  +  # Remove the call to Libtool.
          564  +  if test "$libtool" = yes; then
          565  +    while test "X$1" != 'X--mode=compile'; do
          566  +      shift
          567  +    done
          568  +    shift
          569  +  fi
          570  +
          571  +  IFS=" "
          572  +  for arg
          573  +  do
          574  +    case "$arg" in
          575  +    -o)
          576  +      shift
          577  +      ;;
          578  +    $object)
          579  +      shift
          580  +      ;;
          581  +    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
          582  +	set fnord "$@"
          583  +	shift
          584  +	shift
          585  +	;;
          586  +    *)
          587  +	set fnord "$@" "$arg"
          588  +	shift
          589  +	shift
          590  +	;;
          591  +    esac
          592  +  done
          593  +  "$@" -E 2>/dev/null |
          594  +  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
          595  +  rm -f "$depfile"
          596  +  echo "$object : \\" > "$depfile"
          597  +  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
          598  +  echo "	" >> "$depfile"
          599  +  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
          600  +  rm -f "$tmpdepfile"
          601  +  ;;
          602  +
          603  +msvcmsys)
          604  +  # This case exists only to let depend.m4 do its work.  It works by
          605  +  # looking at the text of this script.  This case will never be run,
          606  +  # since it is checked for above.
          607  +  exit 1
          608  +  ;;
          609  +
          610  +none)
          611  +  exec "$@"
          612  +  ;;
          613  +
          614  +*)
          615  +  echo "Unknown depmode $depmode" 1>&2
          616  +  exit 1
          617  +  ;;
          618  +esac
          619  +
          620  +exit 0
          621  +
          622  +# Local Variables:
          623  +# mode: shell-script
          624  +# sh-indentation: 2
          625  +# eval: (add-hook 'write-file-hooks 'time-stamp)
          626  +# time-stamp-start: "scriptversion="
          627  +# time-stamp-format: "%:y-%02m-%02d.%02H"
          628  +# time-stamp-time-zone: "UTC"
          629  +# time-stamp-end: "; # UTC"
          630  +# End:

Added examples/Makefile.am.

            1  +noinst_PROGRAMS = test_osm1 test_osm2 test_osm3
            2  +
            3  +AM_CFLAGS = -I@srcdir@/../headers
            4  +AM_LDFLAGS = -L../src -lreadosm -lz $(GCOV_FLAGS)
            5  +
            6  +MOSTLYCLEANFILES = *.gcna *.gcno *.gcda
            7  +
            8  +EXTRA_DIST = examples.doxy

Added examples/Makefile.in.

            1  +# Makefile.in generated by automake 1.14.1 from Makefile.am.
            2  +# @configure_input@
            3  +
            4  +# Copyright (C) 1994-2013 Free Software Foundation, Inc.
            5  +
            6  +# This Makefile.in is free software; the Free Software Foundation
            7  +# gives unlimited permission to copy and/or distribute it,
            8  +# with or without modifications, as long as this notice is preserved.
            9  +
           10  +# This program is distributed in the hope that it will be useful,
           11  +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
           12  +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
           13  +# PARTICULAR PURPOSE.
           14  +
           15  +@SET_MAKE@
           16  +
           17  +VPATH = @srcdir@
           18  +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
           19  +am__make_running_with_option = \
           20  +  case $${target_option-} in \
           21  +      ?) ;; \
           22  +      *) echo "am__make_running_with_option: internal error: invalid" \
           23  +              "target option '$${target_option-}' specified" >&2; \
           24  +         exit 1;; \
           25  +  esac; \
           26  +  has_opt=no; \
           27  +  sane_makeflags=$$MAKEFLAGS; \
           28  +  if $(am__is_gnu_make); then \
           29  +    sane_makeflags=$$MFLAGS; \
           30  +  else \
           31  +    case $$MAKEFLAGS in \
           32  +      *\\[\ \	]*) \
           33  +        bs=\\; \
           34  +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
           35  +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
           36  +    esac; \
           37  +  fi; \
           38  +  skip_next=no; \
           39  +  strip_trailopt () \
           40  +  { \
           41  +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
           42  +  }; \
           43  +  for flg in $$sane_makeflags; do \
           44  +    test $$skip_next = yes && { skip_next=no; continue; }; \
           45  +    case $$flg in \
           46  +      *=*|--*) continue;; \
           47  +        -*I) strip_trailopt 'I'; skip_next=yes;; \
           48  +      -*I?*) strip_trailopt 'I';; \
           49  +        -*O) strip_trailopt 'O'; skip_next=yes;; \
           50  +      -*O?*) strip_trailopt 'O';; \
           51  +        -*l) strip_trailopt 'l'; skip_next=yes;; \
           52  +      -*l?*) strip_trailopt 'l';; \
           53  +      -[dEDm]) skip_next=yes;; \
           54  +      -[JT]) skip_next=yes;; \
           55  +    esac; \
           56  +    case $$flg in \
           57  +      *$$target_option*) has_opt=yes; break;; \
           58  +    esac; \
           59  +  done; \
           60  +  test $$has_opt = yes
           61  +am__make_dryrun = (target_option=n; $(am__make_running_with_option))
           62  +am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
           63  +pkgdatadir = $(datadir)/@PACKAGE@
           64  +pkgincludedir = $(includedir)/@PACKAGE@
           65  +pkglibdir = $(libdir)/@PACKAGE@
           66  +pkglibexecdir = $(libexecdir)/@PACKAGE@
           67  +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
           68  +install_sh_DATA = $(install_sh) -c -m 644
           69  +install_sh_PROGRAM = $(install_sh) -c
           70  +install_sh_SCRIPT = $(install_sh) -c
           71  +INSTALL_HEADER = $(INSTALL_DATA)
           72  +transform = $(program_transform_name)
           73  +NORMAL_INSTALL = :
           74  +PRE_INSTALL = :
           75  +POST_INSTALL = :
           76  +NORMAL_UNINSTALL = :
           77  +PRE_UNINSTALL = :
           78  +POST_UNINSTALL = :
           79  +build_triplet = @build@
           80  +host_triplet = @host@
           81  +noinst_PROGRAMS = test_osm1$(EXEEXT) test_osm2$(EXEEXT) \
           82  +	test_osm3$(EXEEXT)
           83  +subdir = examples
           84  +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
           85  +	$(top_srcdir)/depcomp
           86  +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
           87  +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
           88  +	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
           89  +	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
           90  +	$(top_srcdir)/configure.ac
           91  +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
           92  +	$(ACLOCAL_M4)
           93  +mkinstalldirs = $(install_sh) -d
           94  +CONFIG_HEADER = $(top_builddir)/config.h
           95  +CONFIG_CLEAN_FILES =
           96  +CONFIG_CLEAN_VPATH_FILES =
           97  +PROGRAMS = $(noinst_PROGRAMS)
           98  +test_osm1_SOURCES = test_osm1.c
           99  +test_osm1_OBJECTS = test_osm1.$(OBJEXT)
          100  +test_osm1_LDADD = $(LDADD)
          101  +AM_V_lt = $(am__v_lt_@AM_V@)
          102  +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
          103  +am__v_lt_0 = --silent
          104  +am__v_lt_1 = 
          105  +test_osm2_SOURCES = test_osm2.c
          106  +test_osm2_OBJECTS = test_osm2.$(OBJEXT)
          107  +test_osm2_LDADD = $(LDADD)
          108  +test_osm3_SOURCES = test_osm3.c
          109  +test_osm3_OBJECTS = test_osm3.$(OBJEXT)
          110  +test_osm3_LDADD = $(LDADD)
          111  +AM_V_P = $(am__v_P_@AM_V@)
          112  +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
          113  +am__v_P_0 = false
          114  +am__v_P_1 = :
          115  +AM_V_GEN = $(am__v_GEN_@AM_V@)
          116  +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
          117  +am__v_GEN_0 = @echo "  GEN     " $@;
          118  +am__v_GEN_1 = 
          119  +AM_V_at = $(am__v_at_@AM_V@)
          120  +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
          121  +am__v_at_0 = @
          122  +am__v_at_1 = 
          123  +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
          124  +depcomp = $(SHELL) $(top_srcdir)/depcomp
          125  +am__depfiles_maybe = depfiles
          126  +am__mv = mv -f
          127  +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
          128  +	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
          129  +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
          130  +	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
          131  +	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
          132  +	$(AM_CFLAGS) $(CFLAGS)
          133  +AM_V_CC = $(am__v_CC_@AM_V@)
          134  +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
          135  +am__v_CC_0 = @echo "  CC      " $@;
          136  +am__v_CC_1 = 
          137  +CCLD = $(CC)
          138  +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
          139  +	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
          140  +	$(AM_LDFLAGS) $(LDFLAGS) -o $@
          141  +AM_V_CCLD = $(am__v_CCLD_@AM_V@)
          142  +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
          143  +am__v_CCLD_0 = @echo "  CCLD    " $@;
          144  +am__v_CCLD_1 = 
          145  +SOURCES = test_osm1.c test_osm2.c test_osm3.c
          146  +DIST_SOURCES = test_osm1.c test_osm2.c test_osm3.c
          147  +am__can_run_installinfo = \
          148  +  case $$AM_UPDATE_INFO_DIR in \
          149  +    n|no|NO) false;; \
          150  +    *) (install-info --version) >/dev/null 2>&1;; \
          151  +  esac
          152  +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
          153  +# Read a list of newline-separated strings from the standard input,
          154  +# and print each of them once, without duplicates.  Input order is
          155  +# *not* preserved.
          156  +am__uniquify_input = $(AWK) '\
          157  +  BEGIN { nonempty = 0; } \
          158  +  { items[$$0] = 1; nonempty = 1; } \
          159  +  END { if (nonempty) { for (i in items) print i; }; } \
          160  +'
          161  +# Make sure the list of sources is unique.  This is necessary because,
          162  +# e.g., the same source file might be shared among _SOURCES variables
          163  +# for different programs/libraries.
          164  +am__define_uniq_tagged_files = \
          165  +  list='$(am__tagged_files)'; \
          166  +  unique=`for i in $$list; do \
          167  +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          168  +  done | $(am__uniquify_input)`
          169  +ETAGS = etags
          170  +CTAGS = ctags
          171  +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
          172  +ACLOCAL = @ACLOCAL@
          173  +AMTAR = @AMTAR@
          174  +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
          175  +AR = @AR@
          176  +AS = @AS@
          177  +AUTOCONF = @AUTOCONF@
          178  +AUTOHEADER = @AUTOHEADER@
          179  +AUTOMAKE = @AUTOMAKE@
          180  +AWK = @AWK@
          181  +CC = @CC@
          182  +CCDEPMODE = @CCDEPMODE@
          183  +CFLAGS = @CFLAGS@
          184  +CPP = @CPP@
          185  +CPPFLAGS = @CPPFLAGS@
          186  +CXX = @CXX@
          187  +CXXCPP = @CXXCPP@
          188  +CXXDEPMODE = @CXXDEPMODE@
          189  +CXXFLAGS = @CXXFLAGS@
          190  +CYGPATH_W = @CYGPATH_W@
          191  +DEFS = @DEFS@
          192  +DEPDIR = @DEPDIR@
          193  +DLLTOOL = @DLLTOOL@
          194  +DSYMUTIL = @DSYMUTIL@
          195  +DUMPBIN = @DUMPBIN@
          196  +ECHO_C = @ECHO_C@
          197  +ECHO_N = @ECHO_N@
          198  +ECHO_T = @ECHO_T@
          199  +EGREP = @EGREP@
          200  +EXEEXT = @EXEEXT@
          201  +FGREP = @FGREP@
          202  +GREP = @GREP@
          203  +INSTALL = @INSTALL@
          204  +INSTALL_DATA = @INSTALL_DATA@
          205  +INSTALL_PROGRAM = @INSTALL_PROGRAM@
          206  +INSTALL_SCRIPT = @INSTALL_SCRIPT@
          207  +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
          208  +LD = @LD@
          209  +LDFLAGS = @LDFLAGS@
          210  +LIBOBJS = @LIBOBJS@
          211  +LIBS = @LIBS@
          212  +LIBTOOL = @LIBTOOL@
          213  +LIPO = @LIPO@
          214  +LN_S = @LN_S@
          215  +LTLIBOBJS = @LTLIBOBJS@
          216  +MAINT = @MAINT@
          217  +MAKEINFO = @MAKEINFO@
          218  +MANIFEST_TOOL = @MANIFEST_TOOL@
          219  +MKDIR_P = @MKDIR_P@
          220  +NM = @NM@
          221  +NMEDIT = @NMEDIT@
          222  +OBJDUMP = @OBJDUMP@
          223  +OBJEXT = @OBJEXT@
          224  +OTOOL = @OTOOL@
          225  +OTOOL64 = @OTOOL64@
          226  +PACKAGE = @PACKAGE@
          227  +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
          228  +PACKAGE_NAME = @PACKAGE_NAME@
          229  +PACKAGE_STRING = @PACKAGE_STRING@
          230  +PACKAGE_TARNAME = @PACKAGE_TARNAME@
          231  +PACKAGE_URL = @PACKAGE_URL@
          232  +PACKAGE_VERSION = @PACKAGE_VERSION@
          233  +PATH_SEPARATOR = @PATH_SEPARATOR@
          234  +RANLIB = @RANLIB@
          235  +SED = @SED@
          236  +SET_MAKE = @SET_MAKE@
          237  +SHELL = @SHELL@
          238  +STRIP = @STRIP@
          239  +VERSION = @VERSION@
          240  +abs_builddir = @abs_builddir@
          241  +abs_srcdir = @abs_srcdir@
          242  +abs_top_builddir = @abs_top_builddir@
          243  +abs_top_srcdir = @abs_top_srcdir@
          244  +ac_ct_AR = @ac_ct_AR@
          245  +ac_ct_CC = @ac_ct_CC@
          246  +ac_ct_CXX = @ac_ct_CXX@
          247  +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
          248  +am__include = @am__include@
          249  +am__leading_dot = @am__leading_dot@
          250  +am__quote = @am__quote@
          251  +am__tar = @am__tar@
          252  +am__untar = @am__untar@
          253  +bindir = @bindir@
          254  +build = @build@
          255  +build_alias = @build_alias@
          256  +build_cpu = @build_cpu@
          257  +build_os = @build_os@
          258  +build_vendor = @build_vendor@
          259  +builddir = @builddir@
          260  +datadir = @datadir@
          261  +datarootdir = @datarootdir@
          262  +docdir = @docdir@
          263  +dvidir = @dvidir@
          264  +exec_prefix = @exec_prefix@
          265  +host = @host@
          266  +host_alias = @host_alias@
          267  +host_cpu = @host_cpu@
          268  +host_os = @host_os@
          269  +host_vendor = @host_vendor@
          270  +htmldir = @htmldir@
          271  +includedir = @includedir@
          272  +infodir = @infodir@
          273  +install_sh = @install_sh@
          274  +libdir = @libdir@
          275  +libexecdir = @libexecdir@
          276  +localedir = @localedir@
          277  +localstatedir = @localstatedir@
          278  +mandir = @mandir@
          279  +mkdir_p = @mkdir_p@
          280  +oldincludedir = @oldincludedir@
          281  +pdfdir = @pdfdir@
          282  +prefix = @prefix@
          283  +program_transform_name = @program_transform_name@
          284  +psdir = @psdir@
          285  +sbindir = @sbindir@
          286  +sharedstatedir = @sharedstatedir@
          287  +srcdir = @srcdir@
          288  +sysconfdir = @sysconfdir@
          289  +target_alias = @target_alias@
          290  +top_build_prefix = @top_build_prefix@
          291  +top_builddir = @top_builddir@
          292  +top_srcdir = @top_srcdir@
          293  +AM_CFLAGS = -I@srcdir@/../headers
          294  +AM_LDFLAGS = -L../src -lreadosm -lz $(GCOV_FLAGS)
          295  +MOSTLYCLEANFILES = *.gcna *.gcno *.gcda
          296  +EXTRA_DIST = examples.doxy
          297  +all: all-am
          298  +
          299  +.SUFFIXES:
          300  +.SUFFIXES: .c .lo .o .obj
          301  +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
          302  +	@for dep in $?; do \
          303  +	  case '$(am__configure_deps)' in \
          304  +	    *$$dep*) \
          305  +	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
          306  +	        && { if test -f $@; then exit 0; else break; fi; }; \
          307  +	      exit 1;; \
          308  +	  esac; \
          309  +	done; \
          310  +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
          311  +	$(am__cd) $(top_srcdir) && \
          312  +	  $(AUTOMAKE) --gnu examples/Makefile
          313  +.PRECIOUS: Makefile
          314  +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
          315  +	@case '$?' in \
          316  +	  *config.status*) \
          317  +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          318  +	  *) \
          319  +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
          320  +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
          321  +	esac;
          322  +
          323  +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
          324  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          325  +
          326  +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
          327  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          328  +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
          329  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          330  +$(am__aclocal_m4_deps):
          331  +
          332  +clean-noinstPROGRAMS:
          333  +	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
          334  +	echo " rm -f" $$list; \
          335  +	rm -f $$list || exit $$?; \
          336  +	test -n "$(EXEEXT)" || exit 0; \
          337  +	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
          338  +	echo " rm -f" $$list; \
          339  +	rm -f $$list
          340  +
          341  +test_osm1$(EXEEXT): $(test_osm1_OBJECTS) $(test_osm1_DEPENDENCIES) $(EXTRA_test_osm1_DEPENDENCIES) 
          342  +	@rm -f test_osm1$(EXEEXT)
          343  +	$(AM_V_CCLD)$(LINK) $(test_osm1_OBJECTS) $(test_osm1_LDADD) $(LIBS)
          344  +
          345  +test_osm2$(EXEEXT): $(test_osm2_OBJECTS) $(test_osm2_DEPENDENCIES) $(EXTRA_test_osm2_DEPENDENCIES) 
          346  +	@rm -f test_osm2$(EXEEXT)
          347  +	$(AM_V_CCLD)$(LINK) $(test_osm2_OBJECTS) $(test_osm2_LDADD) $(LIBS)
          348  +
          349  +test_osm3$(EXEEXT): $(test_osm3_OBJECTS) $(test_osm3_DEPENDENCIES) $(EXTRA_test_osm3_DEPENDENCIES) 
          350  +	@rm -f test_osm3$(EXEEXT)
          351  +	$(AM_V_CCLD)$(LINK) $(test_osm3_OBJECTS) $(test_osm3_LDADD) $(LIBS)
          352  +
          353  +mostlyclean-compile:
          354  +	-rm -f *.$(OBJEXT)
          355  +
          356  +distclean-compile:
          357  +	-rm -f *.tab.c
          358  +
          359  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_osm1.Po@am__quote@
          360  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_osm2.Po@am__quote@
          361  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_osm3.Po@am__quote@
          362  +
          363  +.c.o:
          364  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
          365  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
          366  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
          367  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          368  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
          369  +
          370  +.c.obj:
          371  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
          372  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
          373  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
          374  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          375  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
          376  +
          377  +.c.lo:
          378  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
          379  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
          380  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
          381  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          382  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
          383  +
          384  +mostlyclean-libtool:
          385  +	-rm -f *.lo
          386  +
          387  +clean-libtool:
          388  +	-rm -rf .libs _libs
          389  +
          390  +ID: $(am__tagged_files)
          391  +	$(am__define_uniq_tagged_files); mkid -fID $$unique
          392  +tags: tags-am
          393  +TAGS: tags
          394  +
          395  +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          396  +	set x; \
          397  +	here=`pwd`; \
          398  +	$(am__define_uniq_tagged_files); \
          399  +	shift; \
          400  +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          401  +	  test -n "$$unique" || unique=$$empty_fix; \
          402  +	  if test $$# -gt 0; then \
          403  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          404  +	      "$$@" $$unique; \
          405  +	  else \
          406  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          407  +	      $$unique; \
          408  +	  fi; \
          409  +	fi
          410  +ctags: ctags-am
          411  +
          412  +CTAGS: ctags
          413  +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          414  +	$(am__define_uniq_tagged_files); \
          415  +	test -z "$(CTAGS_ARGS)$$unique" \
          416  +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
          417  +	     $$unique
          418  +
          419  +GTAGS:
          420  +	here=`$(am__cd) $(top_builddir) && pwd` \
          421  +	  && $(am__cd) $(top_srcdir) \
          422  +	  && gtags -i $(GTAGS_ARGS) "$$here"
          423  +cscopelist: cscopelist-am
          424  +
          425  +cscopelist-am: $(am__tagged_files)
          426  +	list='$(am__tagged_files)'; \
          427  +	case "$(srcdir)" in \
          428  +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          429  +	  *) sdir=$(subdir)/$(srcdir) ;; \
          430  +	esac; \
          431  +	for i in $$list; do \
          432  +	  if test -f "$$i"; then \
          433  +	    echo "$(subdir)/$$i"; \
          434  +	  else \
          435  +	    echo "$$sdir/$$i"; \
          436  +	  fi; \
          437  +	done >> $(top_builddir)/cscope.files
          438  +
          439  +distclean-tags:
          440  +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
          441  +
          442  +distdir: $(DISTFILES)
          443  +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          444  +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          445  +	list='$(DISTFILES)'; \
          446  +	  dist_files=`for file in $$list; do echo $$file; done | \
          447  +	  sed -e "s|^$$srcdirstrip/||;t" \
          448  +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
          449  +	case $$dist_files in \
          450  +	  */*) $(MKDIR_P) `echo "$$dist_files" | \
          451  +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
          452  +			   sort -u` ;; \
          453  +	esac; \
          454  +	for file in $$dist_files; do \
          455  +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          456  +	  if test -d $$d/$$file; then \
          457  +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
          458  +	    if test -d "$(distdir)/$$file"; then \
          459  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          460  +	    fi; \
          461  +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
          462  +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
          463  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          464  +	    fi; \
          465  +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
          466  +	  else \
          467  +	    test -f "$(distdir)/$$file" \
          468  +	    || cp -p $$d/$$file "$(distdir)/$$file" \
          469  +	    || exit 1; \
          470  +	  fi; \
          471  +	done
          472  +check-am: all-am
          473  +check: check-am
          474  +all-am: Makefile $(PROGRAMS)
          475  +installdirs:
          476  +install: install-am
          477  +install-exec: install-exec-am
          478  +install-data: install-data-am
          479  +uninstall: uninstall-am
          480  +
          481  +install-am: all-am
          482  +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
          483  +
          484  +installcheck: installcheck-am
          485  +install-strip:
          486  +	if test -z '$(STRIP)'; then \
          487  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          488  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          489  +	      install; \
          490  +	else \
          491  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          492  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          493  +	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
          494  +	fi
          495  +mostlyclean-generic:
          496  +	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
          497  +
          498  +clean-generic:
          499  +
          500  +distclean-generic:
          501  +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
          502  +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
          503  +
          504  +maintainer-clean-generic:
          505  +	@echo "This command is intended for maintainers to use"
          506  +	@echo "it deletes files that may require special tools to rebuild."
          507  +clean: clean-am
          508  +
          509  +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
          510  +	mostlyclean-am
          511  +
          512  +distclean: distclean-am
          513  +	-rm -rf ./$(DEPDIR)
          514  +	-rm -f Makefile
          515  +distclean-am: clean-am distclean-compile distclean-generic \
          516  +	distclean-tags
          517  +
          518  +dvi: dvi-am
          519  +
          520  +dvi-am:
          521  +
          522  +html: html-am
          523  +
          524  +html-am:
          525  +
          526  +info: info-am
          527  +
          528  +info-am:
          529  +
          530  +install-data-am:
          531  +
          532  +install-dvi: install-dvi-am
          533  +
          534  +install-dvi-am:
          535  +
          536  +install-exec-am:
          537  +
          538  +install-html: install-html-am
          539  +
          540  +install-html-am:
          541  +
          542  +install-info: install-info-am
          543  +
          544  +install-info-am:
          545  +
          546  +install-man:
          547  +
          548  +install-pdf: install-pdf-am
          549  +
          550  +install-pdf-am:
          551  +
          552  +install-ps: install-ps-am
          553  +
          554  +install-ps-am:
          555  +
          556  +installcheck-am:
          557  +
          558  +maintainer-clean: maintainer-clean-am
          559  +	-rm -rf ./$(DEPDIR)
          560  +	-rm -f Makefile
          561  +maintainer-clean-am: distclean-am maintainer-clean-generic
          562  +
          563  +mostlyclean: mostlyclean-am
          564  +
          565  +mostlyclean-am: mostlyclean-compile mostlyclean-generic \
          566  +	mostlyclean-libtool
          567  +
          568  +pdf: pdf-am
          569  +
          570  +pdf-am:
          571  +
          572  +ps: ps-am
          573  +
          574  +ps-am:
          575  +
          576  +uninstall-am:
          577  +
          578  +.MAKE: install-am install-strip
          579  +
          580  +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
          581  +	clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
          582  +	ctags-am distclean distclean-compile distclean-generic \
          583  +	distclean-libtool distclean-tags distdir dvi dvi-am html \
          584  +	html-am info info-am install install-am install-data \
          585  +	install-data-am install-dvi install-dvi-am install-exec \
          586  +	install-exec-am install-html install-html-am install-info \
          587  +	install-info-am install-man install-pdf install-pdf-am \
          588  +	install-ps install-ps-am install-strip installcheck \
          589  +	installcheck-am installdirs maintainer-clean \
          590  +	maintainer-clean-generic mostlyclean mostlyclean-compile \
          591  +	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
          592  +	tags tags-am uninstall uninstall-am
          593  +
          594  +
          595  +# Tell versions [3.59,3.63) of GNU make to not export all variables.
          596  +# Otherwise a system limit (for SysV at least) may be exceeded.
          597  +.NOEXPORT:

Added examples/examples.doxy.

            1  +/** \example test_osm1.c
            2  +
            3  +test_osm1.c is a simple demonstration tool for OSM file formats.
            4  +
            5  +This sample code provides an example of:
            6  + - opening the OSM file
            7  + - parsing the OSM file, then printing an XML-like notation on the standard output. 
            8  + - closing the OSM file when no further operations are required
            9  + 
           10  +Here is an example of a typical run:
           11  +\verbatim
           12  +./test_osm1 italy.osm >italy-from-xml
           13  +or
           14  +./test_osm1 italy.osm.pbf >italy-from-pbf
           15  +\endverbatim
           16  +
           17  +Please note: the output produced by test_osm1 is usually verbose,
           18  +so redirecting the standard output to a disk file is strongly recommended.
           19  +*/
           20  +
           21  +/** \example test_osm2.c
           22  +
           23  +test_osm2.c is another simple demonstration tool for OSM file formats.
           24  +
           25  +This sample code provides an example of:
           26  + - opening the OSM file
           27  + - parsing the OSM file, thus collecting and printing simple statistics about NODEs, WAYs and RELATIONs
           28  + - error handling
           29  + - closing the OSM file when no further operations are required
           30  +
           31  +Here is a typical usage example, parsing an OSM XML file (.osm):
           32  +\verbatim
           33  +./test_osm2 test.osm
           34  +Longitude    range: 8.7889611 / 9.4145124
           35  +Latitude     range: 41.3870658 / 42.8070090
           36  +
           37  +Nodes             : 1060
           38  +              tags: 1052
           39  +
           40  +Ways              : 112
           41  +             ndref: 785
           42  +              tags: 241
           43  +
           44  +Relations         : 13
           45  +  member.nodes    : 16
           46  +  member.ways     : 44
           47  +  member.relations: 6
           48  +              tags: 199
           49  +\endverbatim
           50  +
           51  +Here is another example, this time parsing a .pbf (Protocol Buffer) OSM file:
           52  +\verbatim
           53  +./test_osm2 test.osm
           54  +Longitude    range: 8.5856726 / 10.2898441
           55  +Latitude     range: 41.3332843 / 43.5406952
           56  +
           57  +Nodes             : 8000
           58  +              tags: 3162
           59  +
           60  +Ways              : 12336
           61  +             ndref: 221627
           62  +              tags: 24904
           63  +
           64  +Relations         : 1520
           65  +  member.nodes    : 2952
           66  +  member.ways     : 2741
           67  +  member.relations: 30
           68  +              tags: 10081
           69  +\endverbatim
           70  +
           71  +*/
           72  +
           73  +/** \example test_osm3.c
           74  +
           75  +test_osm3.c shows how to intentionally abort the parser.
           76  +
           77  +Here is a typical usage example, parsing an OSM XML file (.osm):
           78  +\verbatim
           79  +./test_osm3 test.osm 10
           80  +node#1
           81  +node#2
           82  +node#3
           83  +node#4
           84  +node#5
           85  +node#6
           86  +node#7
           87  +node#8
           88  +node#9
           89  +node#10
           90  +PARSING ABORTED
           91  +\endverbatim
           92  +
           93  +Here is another example, this time parsing a .pbf (Protocol Buffer) OSM file:
           94  +\verbatim
           95  +./test_osm3 test.osm 5
           96  +node#1
           97  +node#2
           98  +node#3
           99  +node#4
          100  +node#5
          101  +PARSING ABORTED
          102  +\endverbatim
          103  +
          104  +*/

Added examples/test_osm1.c.

            1  +/* 
            2  +/ test_osm1.c
            3  +/
            4  +/ libreadosm Sample code
            5  +/
            6  +/ Author: Sandro Furieri a.furieri@lqt.it
            7  +/
            8  +/ ------------------------------------------------------------------------------
            9  +/ 
           10  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           11  +/ 
           12  +/ The contents of this file are subject to the Mozilla Public License Version
           13  +/ 1.1 (the "License"); you may not use this file except in compliance with
           14  +/ the License. You may obtain a copy of the License at
           15  +/ http://www.mozilla.org/MPL/
           16  +/ 
           17  +/ Software distributed under the License is distributed on an "AS IS" basis,
           18  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           19  +/ for the specific language governing rights and limitations under the
           20  +/ License.
           21  +/
           22  +/ The Original Code is the ReadOSM library
           23  +/
           24  +/ The Initial Developer of the Original Code is Alessandro Furieri
           25  +/ 
           26  +/ Portions created by the Initial Developer are Copyright (C) 2012
           27  +/ the Initial Developer. All Rights Reserved.
           28  +/ 
           29  +/ Contributor(s):
           30  +/ 
           31  +/ Alternatively, the contents of this file may be used under the terms of
           32  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           33  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           34  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           35  +/ of those above. If you wish to allow use of your version of this file only
           36  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           37  +/ use your version of this file under the terms of the MPL, indicate your
           38  +/ decision by deleting the provisions above and replace them with the notice
           39  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           40  +/ the provisions above, a recipient may use your version of this file under
           41  +/ the terms of any one of the MPL, the GPL or the LGPL.
           42  +/ 
           43  +*/
           44  +
           45  +#include <stdio.h>
           46  +
           47  +#include "readosm.h"
           48  +
           49  +static int
           50  +print_node (const void *user_data, const readosm_node * node)
           51  +{
           52  +/* 
           53  +* printing an OSM Node (callback function) 
           54  +*
           55  +* this function is called by the OSM parser for each 
           56  +* NODE object found
           57  +*
           58  +* please note well: the passed pointer corresponds to
           59  +* a READ-ONLY object; you can can query any node-related
           60  +* value, but you cannot alter them.
           61  +*
           62  +************************************************
           63  +*
           64  +* this didactic sample will simply print the node object
           65  +* on the standard output adopting the appropriate OSM XML
           66  +* notation
           67  +*/
           68  +    char buf[128];
           69  +    int i;
           70  +    const readosm_tag *tag;
           71  +
           72  +#if defined(_WIN32) || defined(__MINGW32__)
           73  +    /* CAVEAT - M$ runtime doesn't supports %lld for 64 bits */
           74  +    sprintf (buf, "%I64d", node->id);
           75  +#else
           76  +    sprintf (buf, "%lld", node->id);
           77  +#endif
           78  +    printf ("\t<node id=\"%s\"", buf);
           79  +
           80  +/*
           81  +* some individual values may be set, or may be not
           82  +* unset values are identified by the READOSM_UNDEFINED
           83  +* conventional value, and must be consequently ignored
           84  +*/
           85  +    if (node->latitude != READOSM_UNDEFINED)
           86  +	printf (" lat=\"%1.7f\"", node->latitude);
           87  +    if (node->longitude != READOSM_UNDEFINED)
           88  +	printf (" lon=\"%1.7f\"", node->longitude);
           89  +    if (node->version != READOSM_UNDEFINED)
           90  +	printf (" version=\"%d\"", node->version);
           91  +    if (node->changeset != READOSM_UNDEFINED)
           92  +      {
           93  +
           94  +#if defined(_WIN32) || defined(__MINGW32__)
           95  +	  /* CAVEAT - M$ runtime doesn't supports %lld for 64 bits */
           96  +	  sprintf (buf, "%I64d", node->changeset);
           97  +#else
           98  +	  sprintf (buf, "%lld", node->changeset);
           99  +#endif
          100  +	  printf (" changeset=\"%s\"", buf);
          101  +      }
          102  +
          103  +/*
          104  +* unset string values are identified by a NULL pointer
          105  +* and must be consequently ignored
          106  +*/
          107  +    if (node->user != NULL)
          108  +	printf (" user=\"%s\"", node->user);
          109  +    if (node->uid != READOSM_UNDEFINED)
          110  +	printf (" uid=\"%d\"", node->uid);
          111  +    if (node->timestamp != NULL)
          112  +	printf (" timestamp=\"%s\"", node->timestamp);
          113  +
          114  +/*
          115  +* the Node object may have its own tag list
          116  +* please note: this one is a variable-length list,
          117  +* and may be empty: in this case tag_count will be ZERO
          118  +*/
          119  +    if (node->tag_count == 0)
          120  +	printf (" />\n");
          121  +    else
          122  +      {
          123  +	  printf (">\n");
          124  +	  for (i = 0; i < node->tag_count; i++)
          125  +	    {
          126  +		/* we'll now print each <tag> for this node */
          127  +		tag = node->tags + i;
          128  +		printf ("\t\t<tag k=\"%s\" v=\"%s\" />\n", tag->key,
          129  +			tag->value);
          130  +	    }
          131  +	  printf ("\t</node>\n");
          132  +      }
          133  +    return READOSM_OK;
          134  +}
          135  +
          136  +static int
          137  +print_way (const void *user_data, const readosm_way * way)
          138  +{
          139  +/* 
          140  +* printing an OSM Way (callback function) 
          141  +*
          142  +* this function is called by the OSM parser for each 
          143  +* WAY object found
          144  +*
          145  +* please note well: the passed pointer corresponds to
          146  +* a READ-ONLY object; you can can query any way-related
          147  +* value, but you cannot alter them.
          148  +*
          149  +************************************************
          150  +*
          151  +* this didactic sample will simply print the way object
          152  +* on the standard output adopting the appropriate OSM XML
          153  +* notation
          154  +*/
          155  +    char buf[128];
          156  +    int i;
          157  +    const readosm_tag *tag;
          158  +
          159  +#if defined(_WIN32) || defined(__MINGW32__)
          160  +    /* CAVEAT - M$ runtime doesn't supports %lld for 64 bits */
          161  +    sprintf (buf, "%I64d", way->id);
          162  +#else
          163  +    sprintf (buf, "%lld", way->id);
          164  +#endif
          165  +    printf ("\t<way id=\"%s\"", buf);
          166  +
          167  +/*
          168  +* some individual values may be set, or may be not
          169  +* unset values are identified by the READOSM_UNDEFINED
          170  +* conventional value, and must be consequently ignored
          171  +*/
          172  +    if (way->version != READOSM_UNDEFINED)
          173  +	printf (" version=\"%d\"", way->version);
          174  +    if (way->changeset != READOSM_UNDEFINED)
          175  +      {
          176  +#if defined(_WIN32) || defined(__MINGW32__)
          177  +	  /* CAVEAT - M$ runtime doesn't supports %lld for 64 bits */
          178  +	  sprintf (buf, "%I64d", way->changeset);
          179  +#else
          180  +	  sprintf (buf, "%lld", way->changeset);
          181  +#endif
          182  +	  printf (" changeset=\"%s\"", buf);
          183  +      }
          184  +
          185  +/*
          186  +* unset string values are identified by a NULL pointer
          187  +* and must be consequently ignored
          188  +*/
          189  +    if (way->user != NULL)
          190  +	printf (" user=\"%s\"", way->user);
          191  +    if (way->uid != READOSM_UNDEFINED)
          192  +	printf (" uid=\"%d\"", way->uid);
          193  +    if (way->timestamp != NULL)
          194  +	printf (" timestamp=\"%s\"", way->timestamp);
          195  +
          196  +/*
          197  +* the Way object may have a noderefs-list and a tag-list
          198  +* please note: these are variable-length lists, and may 
          199  +* be empty: in this case the corresponding item count 
          200  +* will be ZERO
          201  +*/
          202  +    if (way->tag_count == 0 && way->node_ref_count == 0)
          203  +	printf (" />\n");
          204  +    else
          205  +      {
          206  +	  printf (">\n");
          207  +	  for (i = 0; i < way->node_ref_count; i++)
          208  +	    {
          209  +		/* we'll now print each <nd ref> for this way */
          210  +#if defined(_WIN32) || defined(__MINGW32__)
          211  +		/* CAVEAT - M$ runtime doesn't supports %lld for 64 bits */
          212  +		sprintf (buf, "%I64d", *(way->node_refs + i));
          213  +#else
          214  +		sprintf (buf, "%lld", *(way->node_refs + i));
          215  +#endif
          216  +		printf ("\t\t<nd ref=\"%s\" />\n", buf);
          217  +	    }
          218  +	  for (i = 0; i < way->tag_count; i++)
          219  +	    {
          220  +		/* we'll now print each <tag> for this way */
          221  +		tag = way->tags + i;
          222  +		printf ("\t\t<tag k=\"%s\" v=\"%s\" />\n", tag->key,
          223  +			tag->value);
          224  +	    }
          225  +	  printf ("\t</way>\n");
          226  +      }
          227  +    return READOSM_OK;
          228  +}
          229  +
          230  +static int
          231  +print_relation (const void *user_data, const readosm_relation * relation)
          232  +{
          233  +/* 
          234  +* printing an OSM Relation (callback function) 
          235  +*
          236  +* this function is called by the OSM parser for each 
          237  +* RELATION object found
          238  +*
          239  +* please note well: the passed pointer corresponds to
          240  +* a READ-ONLY object; you can can query any relation-related
          241  +* value, but you cannot alter them.
          242  +*
          243  +************************************************
          244  +*
          245  +* this didactic sample will simply print the relation object
          246  +* on the standard output adopting the appropriate OSM XML
          247  +* notation
          248  +*/
          249  +    char buf[128];
          250  +    int i;
          251  +    const readosm_member *member;
          252  +    const readosm_tag *tag;
          253  +
          254  +#if defined(_WIN32) || defined(__MINGW32__)
          255  +    /* CAVEAT - M$ runtime doesn't supports %lld for 64 bits */
          256  +    sprintf (buf, "%I64d", relation->id);
          257  +#else
          258  +    sprintf (buf, "%lld", relation->id);
          259  +#endif
          260  +    printf ("\t<relation id=\"%s\"", buf);
          261  +
          262  +/*
          263  +* some individual values may be set, or may be not
          264  +* unset values are identified by the READOSM_UNDEFINED
          265  +* conventional value, and must be consequently ignored
          266  +*/
          267  +    if (relation->version != READOSM_UNDEFINED)
          268  +	printf (" version=\"%d\"", relation->version);
          269  +    if (relation->changeset != READOSM_UNDEFINED)
          270  +      {
          271  +#if defined(_WIN32) || defined(__MINGW32__)
          272  +	  /* CAVEAT - M$ runtime doesn't supports %lld for 64 bits */
          273  +	  sprintf (buf, "%I64d", relation->changeset);
          274  +#else
          275  +	  sprintf (buf, "%lld", relation->changeset);
          276  +#endif
          277  +	  printf (" changeset=\"%s\"", buf);
          278  +      }
          279  +
          280  +/*
          281  +* unset string values are identified by a NULL pointer
          282  +* and must be consequently ignored
          283  +*/
          284  +    if (relation->user != NULL)
          285  +	printf (" user=\"%s\"", relation->user);
          286  +    if (relation->uid != READOSM_UNDEFINED)
          287  +	printf (" uid=\"%d\"", relation->uid);
          288  +    if (relation->timestamp != NULL)
          289  +	printf (" timestamp=\"%s\"", relation->timestamp);
          290  +
          291  +/*
          292  +* the Relation object may have a member-list and a tag-list
          293  +* please note: these are variable-length lists, and may 
          294  +* be empty: in this case the corresponding item count 
          295  +* will be ZERO
          296  +*/
          297  +    if (relation->tag_count == 0 && relation->member_count == 0)
          298  +	printf (" />\n");
          299  +    else
          300  +      {
          301  +	  printf (">\n");
          302  +	  for (i = 0; i < relation->member_count; i++)
          303  +	    {
          304  +		/* we'll now print each <member> for this way */
          305  +		member = relation->members + i;
          306  +#if defined(_WIN32) || defined(__MINGW32__)
          307  +		/* CAVEAT - M$ runtime doesn't supports %lld for 64 bits */
          308  +		sprintf (buf, "%I64d", member->id);
          309  +#else
          310  +		sprintf (buf, "%lld", member->id);
          311  +#endif
          312  +		/* any <member> may be of "node", "way" or "relation" type */
          313  +		switch (member->member_type)
          314  +		  {
          315  +		  case READOSM_MEMBER_NODE:
          316  +		      printf ("\t\t<member type=\"node\" ref=\"%s\"", buf);
          317  +		      break;
          318  +		  case READOSM_MEMBER_WAY:
          319  +		      printf ("\t\t<member type=\"way\" ref=\"%s\"", buf);
          320  +		      break;
          321  +		  case READOSM_MEMBER_RELATION:
          322  +		      printf ("\t\t<member type=\"relation\" ref=\"%s\"", buf);
          323  +		      break;
          324  +		  default:
          325  +		      printf ("\t\t<member ref=\"%s\"", buf);
          326  +		      break;
          327  +		  };
          328  +		if (member->role != NULL)
          329  +		    printf (" role=\"%s\" />\n", member->role);
          330  +		else
          331  +		    printf (" />\n");
          332  +	    }
          333  +	  for (i = 0; i < relation->tag_count; i++)
          334  +	    {
          335  +		/* we'll now print each <tag> for this way */
          336  +		tag = relation->tags + i;
          337  +		printf ("\t\t<tag k=\"%s\" v=\"%s\" />\n", tag->key,
          338  +			tag->value);
          339  +	    }
          340  +	  printf ("\t</relation>\n");
          341  +      }
          342  +    return READOSM_OK;
          343  +}
          344  +
          345  +int
          346  +main (int argc, char *argv[])
          347  +{
          348  +    const void *osm_handle;
          349  +    int ret;
          350  +
          351  +    if (argc != 2)
          352  +      {
          353  +	  fprintf (stderr, "usage: test_osm1 path-to-OSM-file\n");
          354  +	  return -1;
          355  +      }
          356  +
          357  +/*
          358  +* STEP #1: opening the OSM file
          359  +* this can indifferently be an OSM XML encoded file (.osm)
          360  +* or an OSM Protocol Buffer encoded file (.pbf)
          361  +* the library will transparently perform any required
          362  +* action in both cases.
          363  +*/
          364  +    ret = readosm_open (argv[1], &osm_handle);
          365  +    if (ret != READOSM_OK)
          366  +      {
          367  +	  fprintf (stderr, "OPEN error: %d\n", ret);
          368  +	  goto stop;
          369  +      }
          370  +
          371  +/*
          372  +* STEP #2: parsing the OSM file
          373  +* this task is unbelievably simple
          374  +*
          375  +* you are simply required to pass the appropriate
          376  +* pointers for callback funtions respectively intended
          377  +* to process Node-objects, Way-objects and Relation-objects
          378  +*
          379  +* the library will then parse the whole input file, calling
          380  +* the appropriate callback handling function for each OSM object
          381  +* found: please see the callback functions implementing code
          382  +* to better understand how it works
          383  +*
          384  +* important notice: in this first example we'll not use at
          385  +* all the USER_DATA pointer. so the second arg will simply
          386  +* be (const void *)0 [i.e. NULL]
          387  +*/
          388  +    ret =
          389  +	readosm_parse (osm_handle, (const void *) 0, print_node, print_way,
          390  +		       print_relation);
          391  +    if (ret != READOSM_OK)
          392  +      {
          393  +	  fprintf (stderr, "PARSE error: %d\n", ret);
          394  +	  goto stop;
          395  +      }
          396  +
          397  +    fprintf (stderr, "Ok, OSM input file successfully parsed\n");
          398  +
          399  +  stop:
          400  +/*
          401  +* STEP #3: closing the OSM file
          402  +* this will release any internal memory allocation
          403  +*/
          404  +    readosm_close (osm_handle);
          405  +    return 0;
          406  +}

Added examples/test_osm2.c.

            1  +/* 
            2  +/ test_osm2.c
            3  +/
            4  +/ libreadosm Sample code
            5  +/
            6  +/ Author: Sandro Furieri a.furieri@lqt.it
            7  +/
            8  +/ ------------------------------------------------------------------------------
            9  +/ 
           10  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           11  +/ 
           12  +/ The contents of this file are subject to the Mozilla Public License Version
           13  +/ 1.1 (the "License"); you may not use this file except in compliance with
           14  +/ the License. You may obtain a copy of the License at
           15  +/ http://www.mozilla.org/MPL/
           16  +/ 
           17  +/ Software distributed under the License is distributed on an "AS IS" basis,
           18  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           19  +/ for the specific language governing rights and limitations under the
           20  +/ License.
           21  +/
           22  +/ The Original Code is the ReadOSM library
           23  +/
           24  +/ The Initial Developer of the Original Code is Alessandro Furieri
           25  +/ 
           26  +/ Portions created by the Initial Developer are Copyright (C) 2012
           27  +/ the Initial Developer. All Rights Reserved.
           28  +/ 
           29  +/ Contributor(s):
           30  +/ 
           31  +/ Alternatively, the contents of this file may be used under the terms of
           32  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           33  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           34  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           35  +/ of those above. If you wish to allow use of your version of this file only
           36  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           37  +/ use your version of this file under the terms of the MPL, indicate your
           38  +/ decision by deleting the provisions above and replace them with the notice
           39  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           40  +/ the provisions above, a recipient may use your version of this file under
           41  +/ the terms of any one of the MPL, the GPL or the LGPL.
           42  +/ 
           43  +*/
           44  +
           45  +#include <stdio.h>
           46  +
           47  +#include "readosm.h"
           48  +
           49  +struct osm_statistics
           50  +{
           51  +/* a struct intended to collect general OSM statistics */
           52  +    int node_count;
           53  +    int node_tag_count;
           54  +    int way_count;
           55  +    int way_ndref_count;
           56  +    int way_tag_count;
           57  +    int relation_count;
           58  +    int relation_member_node_count;
           59  +    int relation_member_way_count;
           60  +    int relation_member_relation_count;
           61  +    int relation_tag_count;
           62  +    double min_longitude;
           63  +    double max_longitude;
           64  +    double min_latitude;
           65  +    double max_latitude;
           66  +};
           67  +
           68  +static int
           69  +node_stats (const void *user_data, const readosm_node * node)
           70  +{
           71  +/* updating OSM Node stats (callback function)*/
           72  +
           73  +    /* casting the USER_DATA pointer to osm_statistics */
           74  +    struct osm_statistics *stats = (struct osm_statistics *) user_data;
           75  +
           76  +    stats->node_count++;
           77  +    stats->node_tag_count += node->tag_count;
           78  +    if (node->latitude != READOSM_UNDEFINED)
           79  +      {
           80  +	  if (node->latitude > stats->max_latitude)
           81  +	      stats->max_latitude = node->latitude;
           82  +	  if (node->latitude < stats->min_latitude)
           83  +	      stats->min_latitude = node->latitude;
           84  +      }
           85  +    if (node->longitude != READOSM_UNDEFINED)
           86  +      {
           87  +	  if (node->longitude > stats->max_longitude)
           88  +	      stats->max_longitude = node->longitude;
           89  +	  if (node->longitude < stats->min_longitude)
           90  +	      stats->min_longitude = node->longitude;
           91  +      }
           92  +    return READOSM_OK;
           93  +}
           94  +
           95  +static int
           96  +way_stats (const void *user_data, const readosm_way * way)
           97  +{
           98  +/* updating OSM Way stats (callback function)*/
           99  +
          100  +    /* casting the USER_DATA pointer to osm_statistics */
          101  +    struct osm_statistics *stats = (struct osm_statistics *) user_data;
          102  +
          103  +    stats->way_count++;
          104  +    stats->way_ndref_count += way->node_ref_count;
          105  +    stats->way_tag_count += way->tag_count;
          106  +    return READOSM_OK;
          107  +}
          108  +
          109  +static int
          110  +relation_stats (const void *user_data, const readosm_relation * relation)
          111  +{
          112  +/* updating OSM Relation stats (callback function)*/
          113  +    int i;
          114  +    const readosm_member *member;
          115  +
          116  +    /* casting the USER_DATA pointer to osm_statistics */
          117  +    struct osm_statistics *stats = (struct osm_statistics *) user_data;
          118  +
          119  +    stats->relation_count++;
          120  +    for (i = 0; i < relation->member_count; i++)
          121  +      {
          122  +	  member = relation->members + i;
          123  +	  switch (member->member_type)
          124  +	    {
          125  +	    case READOSM_MEMBER_NODE:
          126  +		stats->relation_member_node_count++;
          127  +		break;
          128  +	    case READOSM_MEMBER_WAY:
          129  +		stats->relation_member_way_count++;
          130  +		break;
          131  +	    case READOSM_MEMBER_RELATION:
          132  +		stats->relation_member_relation_count++;
          133  +		break;
          134  +	    };
          135  +      }
          136  +    stats->relation_tag_count += relation->tag_count;
          137  +    return READOSM_OK;
          138  +}
          139  +
          140  +int
          141  +main (int argc, char *argv[])
          142  +{
          143  +    const void *osm_handle;
          144  +    int ret;
          145  +    struct osm_statistics infos;
          146  +
          147  +/* initializing the statistics struct */
          148  +    infos.node_count = 0;
          149  +    infos.node_tag_count = 0;
          150  +    infos.way_count = 0;
          151  +    infos.way_ndref_count = 0;
          152  +    infos.way_tag_count = 0;
          153  +    infos.relation_count = 0;
          154  +    infos.relation_member_node_count = 0;
          155  +    infos.relation_member_way_count = 0;
          156  +    infos.relation_member_relation_count = 0;
          157  +    infos.relation_tag_count = 0;
          158  +    infos.min_longitude = 180.0;
          159  +    infos.max_longitude = -180.0;
          160  +    infos.min_latitude = 90.0;
          161  +    infos.max_latitude = -90.0;
          162  +
          163  +    if (argc != 2)
          164  +      {
          165  +	  fprintf (stderr, "usage: test_osm2 path-to-OSM-file\n");
          166  +	  return -1;
          167  +      }
          168  +
          169  +/*
          170  +* STEP #1: opening the OSM file
          171  +* this can indifferently be an OSM XML encoded file (.osm)
          172  +* or an OSM Protocol Buffer encoded file (.pbf)
          173  +* the library will transparently perform any required
          174  +* action in both cases.
          175  +*/
          176  +    ret = readosm_open (argv[1], &osm_handle);
          177  +    if (ret != READOSM_OK)
          178  +      {
          179  +	  fprintf (stderr, "OPEN error: %d\n", ret);
          180  +	  goto stop;
          181  +      }
          182  +
          183  +/*
          184  +* STEP #2: parsing the OSM file
          185  +* this task is unbelievebly simple
          186  +*
          187  +* you are simply required to pass the appropriate
          188  +* pointers for callback funtions respectively intended
          189  +* to process Node-objects, Way-objects and Relation-objects
          190  +*
          191  +* the library will then parse the whole input file, calling
          192  +* the appropriate callback handling function for each OSM object
          193  +* found: please see the callback functions implementing code
          194  +* to better understand how it works
          195  +*
          196  +* important notice: this second example is mainly focused on
          197  +* using the USER_DATA pointer. in this example we'll pass the 
          198  +* address of the osm_statistics struct so to gather some
          199  +* general infos.
          200  +*/
          201  +    ret =
          202  +	readosm_parse (osm_handle, &infos, node_stats, way_stats,
          203  +		       relation_stats);
          204  +    if (ret != READOSM_OK)
          205  +      {
          206  +	  fprintf (stderr, "PARSE error: %d\n", ret);
          207  +	  goto stop;
          208  +      }
          209  +
          210  +/* printing OSM statistics */
          211  +    printf ("Longitude    range: %1.7f / %1.7f\n", infos.min_longitude,
          212  +	    infos.max_longitude);
          213  +    printf ("Latitude     range: %1.7f / %1.7f\n\n", infos.min_latitude,
          214  +	    infos.max_latitude);
          215  +    printf ("Nodes             : %d\n", infos.node_count);
          216  +    printf ("              tags: %d\n\n", infos.node_tag_count);
          217  +    printf ("Ways              : %d\n", infos.way_count);
          218  +    printf ("             ndref: %d\n", infos.way_ndref_count);
          219  +    printf ("              tags: %d\n\n", infos.way_tag_count);
          220  +    printf ("Relations         : %d\n", infos.relation_count);
          221  +    printf ("  member.nodes    : %d\n", infos.relation_member_node_count);
          222  +    printf ("  member.ways     : %d\n", infos.relation_member_way_count);
          223  +    printf ("  member.relations: %d\n", infos.relation_member_relation_count);
          224  +    printf ("              tags: %d\n", infos.relation_tag_count);
          225  +
          226  +  stop:
          227  +/*
          228  +* STEP #3: closing the OSM file
          229  +* this will release any internal memory allocation
          230  +*/
          231  +    readosm_close (osm_handle);
          232  +    return 0;
          233  +}

Added examples/test_osm3.c.

            1  +/* 
            2  +/ test_osm3.c
            3  +/
            4  +/ libreadosm Sample code
            5  +/
            6  +/ Author: Sandro Furieri a.furieri@lqt.it
            7  +/
            8  +/ ------------------------------------------------------------------------------
            9  +/ 
           10  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           11  +/ 
           12  +/ The contents of this file are subject to the Mozilla Public License Version
           13  +/ 1.1 (the "License"); you may not use this file except in compliance with
           14  +/ the License. You may obtain a copy of the License at
           15  +/ http://www.mozilla.org/MPL/
           16  +/ 
           17  +/ Software distributed under the License is distributed on an "AS IS" basis,
           18  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           19  +/ for the specific language governing rights and limitations under the
           20  +/ License.
           21  +/
           22  +/ The Original Code is the ReadOSM library
           23  +/
           24  +/ The Initial Developer of the Original Code is Alessandro Furieri
           25  +/ 
           26  +/ Portions created by the Initial Developer are Copyright (C) 2012
           27  +/ the Initial Developer. All Rights Reserved.
           28  +/ 
           29  +/ Contributor(s):
           30  +/ 
           31  +/ Alternatively, the contents of this file may be used under the terms of
           32  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           33  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           34  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           35  +/ of those above. If you wish to allow use of your version of this file only
           36  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           37  +/ use your version of this file under the terms of the MPL, indicate your
           38  +/ decision by deleting the provisions above and replace them with the notice
           39  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           40  +/ the provisions above, a recipient may use your version of this file under
           41  +/ the terms of any one of the MPL, the GPL or the LGPL.
           42  +/ 
           43  +*/
           44  +
           45  +#include <stdio.h>
           46  +#include <stdlib.h>
           47  +
           48  +#include "readosm.h"
           49  +
           50  +struct osm_helper
           51  +{
           52  +/* an user defined struct */
           53  +    int read_count;
           54  +    int stop_limit;
           55  +};
           56  +
           57  +static int
           58  +eval_abort (struct osm_helper *helper)
           59  +{
           60  +/* testing the stop limit */
           61  +    if (helper->read_count > helper->stop_limit)
           62  +	return 1;
           63  +    return 0;
           64  +}
           65  +
           66  +static int
           67  +parse_node (const void *user_data, const readosm_node * node)
           68  +{
           69  +/* parsing a Node (callback function)*/
           70  +
           71  +    /* casting the USER_DATA pointer to osm_helper */
           72  +    struct osm_helper *helper = (struct osm_helper *) user_data;
           73  +
           74  +    helper->read_count++;
           75  +    if (eval_abort (helper))
           76  +	return READOSM_ABORT;
           77  +    printf ("Node#%d\n", helper->read_count);
           78  +    return READOSM_OK;
           79  +}
           80  +
           81  +static int
           82  +parse_way (const void *user_data, const readosm_way * way)
           83  +{
           84  +/* parsing a Way (callback function)*/
           85  +
           86  +    /* casting the USER_DATA pointer to osm_helper */
           87  +    struct osm_helper *helper = (struct osm_helper *) user_data;
           88  +
           89  +    helper->read_count++;
           90  +    if (eval_abort (helper))
           91  +	return READOSM_ABORT;
           92  +    printf ("Way#%d\n", helper->read_count);
           93  +    return READOSM_OK;
           94  +}
           95  +
           96  +static int
           97  +parse_relation (const void *user_data, const readosm_relation * relation)
           98  +{
           99  +/* parsing a Relation stats (callback function)*/
          100  +
          101  +    /* casting the USER_DATA pointer to osm_helper */
          102  +    struct osm_helper *helper = (struct osm_helper *) user_data;
          103  +
          104  +    helper->read_count++;
          105  +    if (eval_abort (helper))
          106  +	return READOSM_ABORT;
          107  +    printf ("Relation#%d\n", helper->read_count);
          108  +    return READOSM_OK;
          109  +}
          110  +
          111  +int
          112  +main (int argc, char *argv[])
          113  +{
          114  +    const void *osm_handle;
          115  +    int ret;
          116  +    struct osm_helper helper;
          117  +
          118  +/* initializing the helper struct */
          119  +    helper.read_count = 0;
          120  +    helper.stop_limit = 0;
          121  +
          122  +    if (argc != 3)
          123  +      {
          124  +	  fprintf (stderr, "usage: test_osm3 path-to-OSM limit\n");
          125  +	  return -1;
          126  +      }
          127  +
          128  +/* setting the stop limit */
          129  +    helper.stop_limit = atoi (argv[2]);
          130  +
          131  +/*
          132  +* STEP #1: opening the OSM file
          133  +* this can indifferently be an OSM XML encoded file (.osm)
          134  +* or an OSM Protocol Buffer encoded file (.pbf)
          135  +* the library will transparently perform any required
          136  +* action in both cases.
          137  +*/
          138  +    ret = readosm_open (argv[1], &osm_handle);
          139  +    if (ret != READOSM_OK)
          140  +      {
          141  +	  fprintf (stderr, "OPEN error: %d\n", ret);
          142  +	  goto stop;
          143  +      }
          144  +
          145  +/*
          146  +* STEP #2: parsing the OSM file
          147  +* this task is unbelievably simple
          148  +*
          149  +* you are simply required to pass the appropriate
          150  +* pointers for callback funtions respectively intended
          151  +* to process Node-objects, Way-objects and Relation-objects
          152  +*
          153  +* the library will then parse the whole input file, calling
          154  +* the appropriate callback handling function for each OSM object
          155  +* found: please see the callback functions implementing code
          156  +* to better understand how it works
          157  +*
          158  +* important notice: this second example is mainly focused on
          159  +* using the USER_DATA pointer. in this example we'll pass the 
          160  +* address of the osm_statistics struct so to gather some
          161  +* general infos.
          162  +*/
          163  +    ret =
          164  +	readosm_parse (osm_handle, &helper, parse_node, parse_way,
          165  +		       parse_relation);
          166  +    if (ret != READOSM_OK)
          167  +      {
          168  +	  fprintf (stderr, "PARSE error: %d\n", ret);
          169  +	  goto stop;
          170  +      }
          171  +
          172  +  stop:
          173  +/*
          174  +* STEP #3: closing the OSM file
          175  +* this will release any internal memory allocation
          176  +*/
          177  +    readosm_close (osm_handle);
          178  +    return 0;
          179  +}

Added headers/Makefile.am.

            1  +
            2  +noinst_HEADERS = readosm_internals.h readosm_protobuf.h
            3  +include_HEADERS = readosm.h 
            4  +

Added headers/Makefile.in.

            1  +# Makefile.in generated by automake 1.14.1 from Makefile.am.
            2  +# @configure_input@
            3  +
            4  +# Copyright (C) 1994-2013 Free Software Foundation, Inc.
            5  +
            6  +# This Makefile.in is free software; the Free Software Foundation
            7  +# gives unlimited permission to copy and/or distribute it,
            8  +# with or without modifications, as long as this notice is preserved.
            9  +
           10  +# This program is distributed in the hope that it will be useful,
           11  +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
           12  +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
           13  +# PARTICULAR PURPOSE.
           14  +
           15  +@SET_MAKE@
           16  +
           17  +VPATH = @srcdir@
           18  +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
           19  +am__make_running_with_option = \
           20  +  case $${target_option-} in \
           21  +      ?) ;; \
           22  +      *) echo "am__make_running_with_option: internal error: invalid" \
           23  +              "target option '$${target_option-}' specified" >&2; \
           24  +         exit 1;; \
           25  +  esac; \
           26  +  has_opt=no; \
           27  +  sane_makeflags=$$MAKEFLAGS; \
           28  +  if $(am__is_gnu_make); then \
           29  +    sane_makeflags=$$MFLAGS; \
           30  +  else \
           31  +    case $$MAKEFLAGS in \
           32  +      *\\[\ \	]*) \
           33  +        bs=\\; \
           34  +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
           35  +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
           36  +    esac; \
           37  +  fi; \
           38  +  skip_next=no; \
           39  +  strip_trailopt () \
           40  +  { \
           41  +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
           42  +  }; \
           43  +  for flg in $$sane_makeflags; do \
           44  +    test $$skip_next = yes && { skip_next=no; continue; }; \
           45  +    case $$flg in \
           46  +      *=*|--*) continue;; \
           47  +        -*I) strip_trailopt 'I'; skip_next=yes;; \
           48  +      -*I?*) strip_trailopt 'I';; \
           49  +        -*O) strip_trailopt 'O'; skip_next=yes;; \
           50  +      -*O?*) strip_trailopt 'O';; \
           51  +        -*l) strip_trailopt 'l'; skip_next=yes;; \
           52  +      -*l?*) strip_trailopt 'l';; \
           53  +      -[dEDm]) skip_next=yes;; \
           54  +      -[JT]) skip_next=yes;; \
           55  +    esac; \
           56  +    case $$flg in \
           57  +      *$$target_option*) has_opt=yes; break;; \
           58  +    esac; \
           59  +  done; \
           60  +  test $$has_opt = yes
           61  +am__make_dryrun = (target_option=n; $(am__make_running_with_option))
           62  +am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
           63  +pkgdatadir = $(datadir)/@PACKAGE@
           64  +pkgincludedir = $(includedir)/@PACKAGE@
           65  +pkglibdir = $(libdir)/@PACKAGE@
           66  +pkglibexecdir = $(libexecdir)/@PACKAGE@
           67  +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
           68  +install_sh_DATA = $(install_sh) -c -m 644
           69  +install_sh_PROGRAM = $(install_sh) -c
           70  +install_sh_SCRIPT = $(install_sh) -c
           71  +INSTALL_HEADER = $(INSTALL_DATA)
           72  +transform = $(program_transform_name)
           73  +NORMAL_INSTALL = :
           74  +PRE_INSTALL = :
           75  +POST_INSTALL = :
           76  +NORMAL_UNINSTALL = :
           77  +PRE_UNINSTALL = :
           78  +POST_UNINSTALL = :
           79  +build_triplet = @build@
           80  +host_triplet = @host@
           81  +subdir = headers
           82  +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
           83  +	$(include_HEADERS) $(noinst_HEADERS)
           84  +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
           85  +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
           86  +	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
           87  +	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
           88  +	$(top_srcdir)/configure.ac
           89  +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
           90  +	$(ACLOCAL_M4)
           91  +mkinstalldirs = $(install_sh) -d
           92  +CONFIG_HEADER = $(top_builddir)/config.h
           93  +CONFIG_CLEAN_FILES =
           94  +CONFIG_CLEAN_VPATH_FILES =
           95  +AM_V_P = $(am__v_P_@AM_V@)
           96  +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
           97  +am__v_P_0 = false
           98  +am__v_P_1 = :
           99  +AM_V_GEN = $(am__v_GEN_@AM_V@)
          100  +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
          101  +am__v_GEN_0 = @echo "  GEN     " $@;
          102  +am__v_GEN_1 = 
          103  +AM_V_at = $(am__v_at_@AM_V@)
          104  +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
          105  +am__v_at_0 = @
          106  +am__v_at_1 = 
          107  +SOURCES =
          108  +DIST_SOURCES =
          109  +am__can_run_installinfo = \
          110  +  case $$AM_UPDATE_INFO_DIR in \
          111  +    n|no|NO) false;; \
          112  +    *) (install-info --version) >/dev/null 2>&1;; \
          113  +  esac
          114  +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
          115  +am__vpath_adj = case $$p in \
          116  +    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          117  +    *) f=$$p;; \
          118  +  esac;
          119  +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
          120  +am__install_max = 40
          121  +am__nobase_strip_setup = \
          122  +  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
          123  +am__nobase_strip = \
          124  +  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
          125  +am__nobase_list = $(am__nobase_strip_setup); \
          126  +  for p in $$list; do echo "$$p $$p"; done | \
          127  +  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
          128  +  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          129  +    if (++n[$$2] == $(am__install_max)) \
          130  +      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          131  +    END { for (dir in files) print dir, files[dir] }'
          132  +am__base_list = \
          133  +  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
          134  +  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
          135  +am__uninstall_files_from_dir = { \
          136  +  test -z "$$files" \
          137  +    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          138  +    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
          139  +         $(am__cd) "$$dir" && rm -f $$files; }; \
          140  +  }
          141  +am__installdirs = "$(DESTDIR)$(includedir)"
          142  +HEADERS = $(include_HEADERS) $(noinst_HEADERS)
          143  +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
          144  +# Read a list of newline-separated strings from the standard input,
          145  +# and print each of them once, without duplicates.  Input order is
          146  +# *not* preserved.
          147  +am__uniquify_input = $(AWK) '\
          148  +  BEGIN { nonempty = 0; } \
          149  +  { items[$$0] = 1; nonempty = 1; } \
          150  +  END { if (nonempty) { for (i in items) print i; }; } \
          151  +'
          152  +# Make sure the list of sources is unique.  This is necessary because,
          153  +# e.g., the same source file might be shared among _SOURCES variables
          154  +# for different programs/libraries.
          155  +am__define_uniq_tagged_files = \
          156  +  list='$(am__tagged_files)'; \
          157  +  unique=`for i in $$list; do \
          158  +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          159  +  done | $(am__uniquify_input)`
          160  +ETAGS = etags
          161  +CTAGS = ctags
          162  +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
          163  +ACLOCAL = @ACLOCAL@
          164  +AMTAR = @AMTAR@
          165  +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
          166  +AR = @AR@
          167  +AS = @AS@
          168  +AUTOCONF = @AUTOCONF@
          169  +AUTOHEADER = @AUTOHEADER@
          170  +AUTOMAKE = @AUTOMAKE@
          171  +AWK = @AWK@
          172  +CC = @CC@
          173  +CCDEPMODE = @CCDEPMODE@
          174  +CFLAGS = @CFLAGS@
          175  +CPP = @CPP@
          176  +CPPFLAGS = @CPPFLAGS@
          177  +CXX = @CXX@
          178  +CXXCPP = @CXXCPP@
          179  +CXXDEPMODE = @CXXDEPMODE@
          180  +CXXFLAGS = @CXXFLAGS@
          181  +CYGPATH_W = @CYGPATH_W@
          182  +DEFS = @DEFS@
          183  +DEPDIR = @DEPDIR@
          184  +DLLTOOL = @DLLTOOL@
          185  +DSYMUTIL = @DSYMUTIL@
          186  +DUMPBIN = @DUMPBIN@
          187  +ECHO_C = @ECHO_C@
          188  +ECHO_N = @ECHO_N@
          189  +ECHO_T = @ECHO_T@
          190  +EGREP = @EGREP@
          191  +EXEEXT = @EXEEXT@
          192  +FGREP = @FGREP@
          193  +GREP = @GREP@
          194  +INSTALL = @INSTALL@
          195  +INSTALL_DATA = @INSTALL_DATA@
          196  +INSTALL_PROGRAM = @INSTALL_PROGRAM@
          197  +INSTALL_SCRIPT = @INSTALL_SCRIPT@
          198  +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
          199  +LD = @LD@
          200  +LDFLAGS = @LDFLAGS@
          201  +LIBOBJS = @LIBOBJS@
          202  +LIBS = @LIBS@
          203  +LIBTOOL = @LIBTOOL@
          204  +LIPO = @LIPO@
          205  +LN_S = @LN_S@
          206  +LTLIBOBJS = @LTLIBOBJS@
          207  +MAINT = @MAINT@
          208  +MAKEINFO = @MAKEINFO@
          209  +MANIFEST_TOOL = @MANIFEST_TOOL@
          210  +MKDIR_P = @MKDIR_P@
          211  +NM = @NM@
          212  +NMEDIT = @NMEDIT@
          213  +OBJDUMP = @OBJDUMP@
          214  +OBJEXT = @OBJEXT@
          215  +OTOOL = @OTOOL@
          216  +OTOOL64 = @OTOOL64@
          217  +PACKAGE = @PACKAGE@
          218  +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
          219  +PACKAGE_NAME = @PACKAGE_NAME@
          220  +PACKAGE_STRING = @PACKAGE_STRING@
          221  +PACKAGE_TARNAME = @PACKAGE_TARNAME@
          222  +PACKAGE_URL = @PACKAGE_URL@
          223  +PACKAGE_VERSION = @PACKAGE_VERSION@
          224  +PATH_SEPARATOR = @PATH_SEPARATOR@
          225  +RANLIB = @RANLIB@
          226  +SED = @SED@
          227  +SET_MAKE = @SET_MAKE@
          228  +SHELL = @SHELL@
          229  +STRIP = @STRIP@
          230  +VERSION = @VERSION@
          231  +abs_builddir = @abs_builddir@
          232  +abs_srcdir = @abs_srcdir@
          233  +abs_top_builddir = @abs_top_builddir@
          234  +abs_top_srcdir = @abs_top_srcdir@
          235  +ac_ct_AR = @ac_ct_AR@
          236  +ac_ct_CC = @ac_ct_CC@
          237  +ac_ct_CXX = @ac_ct_CXX@
          238  +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
          239  +am__include = @am__include@
          240  +am__leading_dot = @am__leading_dot@
          241  +am__quote = @am__quote@
          242  +am__tar = @am__tar@
          243  +am__untar = @am__untar@
          244  +bindir = @bindir@
          245  +build = @build@
          246  +build_alias = @build_alias@
          247  +build_cpu = @build_cpu@
          248  +build_os = @build_os@
          249  +build_vendor = @build_vendor@
          250  +builddir = @builddir@
          251  +datadir = @datadir@
          252  +datarootdir = @datarootdir@
          253  +docdir = @docdir@
          254  +dvidir = @dvidir@
          255  +exec_prefix = @exec_prefix@
          256  +host = @host@
          257  +host_alias = @host_alias@
          258  +host_cpu = @host_cpu@
          259  +host_os = @host_os@
          260  +host_vendor = @host_vendor@
          261  +htmldir = @htmldir@
          262  +includedir = @includedir@
          263  +infodir = @infodir@
          264  +install_sh = @install_sh@
          265  +libdir = @libdir@
          266  +libexecdir = @libexecdir@
          267  +localedir = @localedir@
          268  +localstatedir = @localstatedir@
          269  +mandir = @mandir@
          270  +mkdir_p = @mkdir_p@
          271  +oldincludedir = @oldincludedir@
          272  +pdfdir = @pdfdir@
          273  +prefix = @prefix@
          274  +program_transform_name = @program_transform_name@
          275  +psdir = @psdir@
          276  +sbindir = @sbindir@
          277  +sharedstatedir = @sharedstatedir@
          278  +srcdir = @srcdir@
          279  +sysconfdir = @sysconfdir@
          280  +target_alias = @target_alias@
          281  +top_build_prefix = @top_build_prefix@
          282  +top_builddir = @top_builddir@
          283  +top_srcdir = @top_srcdir@
          284  +noinst_HEADERS = readosm_internals.h readosm_protobuf.h
          285  +include_HEADERS = readosm.h 
          286  +all: all-am
          287  +
          288  +.SUFFIXES:
          289  +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
          290  +	@for dep in $?; do \
          291  +	  case '$(am__configure_deps)' in \
          292  +	    *$$dep*) \
          293  +	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
          294  +	        && { if test -f $@; then exit 0; else break; fi; }; \
          295  +	      exit 1;; \
          296  +	  esac; \
          297  +	done; \
          298  +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu headers/Makefile'; \
          299  +	$(am__cd) $(top_srcdir) && \
          300  +	  $(AUTOMAKE) --gnu headers/Makefile
          301  +.PRECIOUS: Makefile
          302  +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
          303  +	@case '$?' in \
          304  +	  *config.status*) \
          305  +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          306  +	  *) \
          307  +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
          308  +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
          309  +	esac;
          310  +
          311  +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
          312  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          313  +
          314  +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
          315  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          316  +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
          317  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          318  +$(am__aclocal_m4_deps):
          319  +
          320  +mostlyclean-libtool:
          321  +	-rm -f *.lo
          322  +
          323  +clean-libtool:
          324  +	-rm -rf .libs _libs
          325  +install-includeHEADERS: $(include_HEADERS)
          326  +	@$(NORMAL_INSTALL)
          327  +	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
          328  +	if test -n "$$list"; then \
          329  +	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
          330  +	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
          331  +	fi; \
          332  +	for p in $$list; do \
          333  +	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          334  +	  echo "$$d$$p"; \
          335  +	done | $(am__base_list) | \
          336  +	while read files; do \
          337  +	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
          338  +	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
          339  +	done
          340  +
          341  +uninstall-includeHEADERS:
          342  +	@$(NORMAL_UNINSTALL)
          343  +	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
          344  +	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
          345  +	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
          346  +
          347  +ID: $(am__tagged_files)
          348  +	$(am__define_uniq_tagged_files); mkid -fID $$unique
          349  +tags: tags-am
          350  +TAGS: tags
          351  +
          352  +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          353  +	set x; \
          354  +	here=`pwd`; \
          355  +	$(am__define_uniq_tagged_files); \
          356  +	shift; \
          357  +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          358  +	  test -n "$$unique" || unique=$$empty_fix; \
          359  +	  if test $$# -gt 0; then \
          360  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          361  +	      "$$@" $$unique; \
          362  +	  else \
          363  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          364  +	      $$unique; \
          365  +	  fi; \
          366  +	fi
          367  +ctags: ctags-am
          368  +
          369  +CTAGS: ctags
          370  +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          371  +	$(am__define_uniq_tagged_files); \
          372  +	test -z "$(CTAGS_ARGS)$$unique" \
          373  +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
          374  +	     $$unique
          375  +
          376  +GTAGS:
          377  +	here=`$(am__cd) $(top_builddir) && pwd` \
          378  +	  && $(am__cd) $(top_srcdir) \
          379  +	  && gtags -i $(GTAGS_ARGS) "$$here"
          380  +cscopelist: cscopelist-am
          381  +
          382  +cscopelist-am: $(am__tagged_files)
          383  +	list='$(am__tagged_files)'; \
          384  +	case "$(srcdir)" in \
          385  +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          386  +	  *) sdir=$(subdir)/$(srcdir) ;; \
          387  +	esac; \
          388  +	for i in $$list; do \
          389  +	  if test -f "$$i"; then \
          390  +	    echo "$(subdir)/$$i"; \
          391  +	  else \
          392  +	    echo "$$sdir/$$i"; \
          393  +	  fi; \
          394  +	done >> $(top_builddir)/cscope.files
          395  +
          396  +distclean-tags:
          397  +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
          398  +
          399  +distdir: $(DISTFILES)
          400  +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          401  +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          402  +	list='$(DISTFILES)'; \
          403  +	  dist_files=`for file in $$list; do echo $$file; done | \
          404  +	  sed -e "s|^$$srcdirstrip/||;t" \
          405  +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
          406  +	case $$dist_files in \
          407  +	  */*) $(MKDIR_P) `echo "$$dist_files" | \
          408  +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
          409  +			   sort -u` ;; \
          410  +	esac; \
          411  +	for file in $$dist_files; do \
          412  +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          413  +	  if test -d $$d/$$file; then \
          414  +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
          415  +	    if test -d "$(distdir)/$$file"; then \
          416  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          417  +	    fi; \
          418  +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
          419  +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
          420  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          421  +	    fi; \
          422  +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
          423  +	  else \
          424  +	    test -f "$(distdir)/$$file" \
          425  +	    || cp -p $$d/$$file "$(distdir)/$$file" \
          426  +	    || exit 1; \
          427  +	  fi; \
          428  +	done
          429  +check-am: all-am
          430  +check: check-am
          431  +all-am: Makefile $(HEADERS)
          432  +installdirs:
          433  +	for dir in "$(DESTDIR)$(includedir)"; do \
          434  +	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
          435  +	done
          436  +install: install-am
          437  +install-exec: install-exec-am
          438  +install-data: install-data-am
          439  +uninstall: uninstall-am
          440  +
          441  +install-am: all-am
          442  +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
          443  +
          444  +installcheck: installcheck-am
          445  +install-strip:
          446  +	if test -z '$(STRIP)'; then \
          447  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          448  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          449  +	      install; \
          450  +	else \
          451  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          452  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          453  +	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
          454  +	fi
          455  +mostlyclean-generic:
          456  +
          457  +clean-generic:
          458  +
          459  +distclean-generic:
          460  +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
          461  +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
          462  +
          463  +maintainer-clean-generic:
          464  +	@echo "This command is intended for maintainers to use"
          465  +	@echo "it deletes files that may require special tools to rebuild."
          466  +clean: clean-am
          467  +
          468  +clean-am: clean-generic clean-libtool mostlyclean-am
          469  +
          470  +distclean: distclean-am
          471  +	-rm -f Makefile
          472  +distclean-am: clean-am distclean-generic distclean-tags
          473  +
          474  +dvi: dvi-am
          475  +
          476  +dvi-am:
          477  +
          478  +html: html-am
          479  +
          480  +html-am:
          481  +
          482  +info: info-am
          483  +
          484  +info-am:
          485  +
          486  +install-data-am: install-includeHEADERS
          487  +
          488  +install-dvi: install-dvi-am
          489  +
          490  +install-dvi-am:
          491  +
          492  +install-exec-am:
          493  +
          494  +install-html: install-html-am
          495  +
          496  +install-html-am:
          497  +
          498  +install-info: install-info-am
          499  +
          500  +install-info-am:
          501  +
          502  +install-man:
          503  +
          504  +install-pdf: install-pdf-am
          505  +
          506  +install-pdf-am:
          507  +
          508  +install-ps: install-ps-am
          509  +
          510  +install-ps-am:
          511  +
          512  +installcheck-am:
          513  +
          514  +maintainer-clean: maintainer-clean-am
          515  +	-rm -f Makefile
          516  +maintainer-clean-am: distclean-am maintainer-clean-generic
          517  +
          518  +mostlyclean: mostlyclean-am
          519  +
          520  +mostlyclean-am: mostlyclean-generic mostlyclean-libtool
          521  +
          522  +pdf: pdf-am
          523  +
          524  +pdf-am:
          525  +
          526  +ps: ps-am
          527  +
          528  +ps-am:
          529  +
          530  +uninstall-am: uninstall-includeHEADERS
          531  +
          532  +.MAKE: install-am install-strip
          533  +
          534  +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
          535  +	clean-libtool cscopelist-am ctags ctags-am distclean \
          536  +	distclean-generic distclean-libtool distclean-tags distdir dvi \
          537  +	dvi-am html html-am info info-am install install-am \
          538  +	install-data install-data-am install-dvi install-dvi-am \
          539  +	install-exec install-exec-am install-html install-html-am \
          540  +	install-includeHEADERS install-info install-info-am \
          541  +	install-man install-pdf install-pdf-am install-ps \
          542  +	install-ps-am install-strip installcheck installcheck-am \
          543  +	installdirs maintainer-clean maintainer-clean-generic \
          544  +	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
          545  +	ps ps-am tags tags-am uninstall uninstall-am \
          546  +	uninstall-includeHEADERS
          547  +
          548  +
          549  +# Tell versions [3.59,3.63) of GNU make to not export all variables.
          550  +# Otherwise a system limit (for SysV at least) may be exceeded.
          551  +.NOEXPORT:

Added headers/readosm.h.

            1  +/* 
            2  +/ readosm.h
            3  +/
            4  +/ public declarations
            5  +/
            6  +/ version  1.0, 2012 April 10
            7  +/
            8  +/ Author: Sandro Furieri a.furieri@lqt.it
            9  +/
           10  +/ ------------------------------------------------------------------------------
           11  +/ 
           12  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           13  +/ 
           14  +/ The contents of this file are subject to the Mozilla Public License Version
           15  +/ 1.1 (the "License"); you may not use this file except in compliance with
           16  +/ the License. You may obtain a copy of the License at
           17  +/ http://www.mozilla.org/MPL/
           18  +/ 
           19  +/ Software distributed under the License is distributed on an "AS IS" basis,
           20  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           21  +/ for the specific language governing rights and limitations under the
           22  +/ License.
           23  +/
           24  +/ The Original Code is the ReadOSM library
           25  +/
           26  +/ The Initial Developer of the Original Code is Alessandro Furieri
           27  +/ 
           28  +/ Portions created by the Initial Developer are Copyright (C) 2012
           29  +/ the Initial Developer. All Rights Reserved.
           30  +/ 
           31  +/ Contributor(s):
           32  +/
           33  +/ Alternatively, the contents of this file may be used under the terms of
           34  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           35  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           36  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           37  +/ of those above. If you wish to allow use of your version of this file only
           38  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           39  +/ use your version of this file under the terms of the MPL, indicate your
           40  +/ decision by deleting the provisions above and replace them with the notice
           41  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           42  +/ the provisions above, a recipient may use your version of this file under
           43  +/ the terms of any one of the MPL, the GPL or the LGPL.
           44  +/ 
           45  +*/
           46  +
           47  +/**
           48  + \file readosm.h 
           49  + 
           50  + Function declarations and constants for ReadOSM library
           51  + */
           52  +#ifndef DOXYGEN_SHOULD_SKIP_THIS
           53  +#ifdef _WIN32
           54  +#ifdef DLL_EXPORT
           55  +#define READOSM_DECLARE __declspec(dllexport)
           56  +#define READOSM_PRIVATE
           57  +#else
           58  +#define READOSM_DECLARE extern
           59  +#define READOSM_PRIVATE
           60  +#endif
           61  +#else
           62  +#define READOSM_DECLARE __attribute__ ((visibility("default")))
           63  +#define READOSM_PRIVATE __attribute__ ((visibility("hidden")))
           64  +#endif
           65  +#endif
           66  +
           67  +#ifndef _READOSM_H
           68  +#ifndef DOXYGEN_SHOULD_SKIP_THIS
           69  +#define _READOSM_H
           70  +#endif
           71  +
           72  +#ifdef __cplusplus
           73  +extern "C"
           74  +{
           75  +#endif
           76  +
           77  +/* constants */
           78  +/** information is not available */
           79  +#define READOSM_UNDEFINED	-1234567890
           80  +/** MemberType: NODE */
           81  +#define READOSM_MEMBER_NODE	7361
           82  +/** MemberType: WAY */
           83  +#define READOSM_MEMBER_WAY 6731
           84  +/** MemberType: RELATION */
           85  +#define READOSM_MEMBER_RELATION 3671
           86  +
           87  +/* Error codes */
           88  +#define READOSM_OK			0 /**< No error, success */
           89  +#define READOSM_INVALID_SUFFIX		-1 /**< not .osm or .pbf suffix */
           90  +#define READOSM_FILE_NOT_FOUND		-2 /**< .osm or .pbf file does not exist or is
           91  +						not accessible for reading */
           92  +#define READOSM_NULL_HANDLE		-3 /**< Null OSM_handle argument */
           93  +#define READOSM_INVALID_HANDLE		-4 /**< Invalid OSM_handle argument */
           94  +#define READOSM_INSUFFICIENT_MEMORY	-5 /**< some kind of memory allocation
           95  +                                                failure */
           96  +#define READOSM_CREATE_XML_PARSER_ERROR	-6 /**< cannot create the XML Parser */
           97  +#define READOSM_READ_ERROR		-7 /**< read error */
           98  +#define READOSM_XML_ERROR		-8 /**< XML parser error */
           99  +#define READOSM_INVALID_PBF_HEADER	-9 /**< invalid PBF header */
          100  +#define READOSM_UNZIP_ERROR		-10 /**< unZip error */
          101  +#define READOSM_ABORT			-11 /**< user-required parser abort */
          102  +
          103  +	/**
          104  +	 a struct representing a <b>key:value</b> pair, and wrapping an XML fragment like the following:
          105  +	\verbatim
          106  +<tag key="key-value" value="some-value" />
          107  +	\endverbatim
          108  +	 */
          109  +    struct readosm_tag_struct
          110  +    {
          111  +
          112  +	const char *key; /**< the KEY */
          113  +	const char *value; /**< the VALUE */
          114  +    };
          115  +
          116  +	/**
          117  +     Typedef for TAG structure.
          118  +     
          119  +     \sa readosm_tag_struct
          120  +     */
          121  +    typedef struct readosm_tag_struct readosm_tag;
          122  +
          123  +	/**
          124  +	 a struct representing a NODE object, and wrapping a complex XML fragment like the following:
          125  +	\verbatim
          126  +<node id="12345" lat="6.66666" lon="7.77777" version="1" changeset="54321" user="some-user" uid="66" timestamp="2005-02-28T17:45:15Z">
          127  +	<tag key="created_by" value="JOSM" />
          128  +	<tag key="tourism" value="camp_site" />
          129  +</node>
          130  +	\endverbatim
          131  +	 */
          132  +    struct readosm_node_struct
          133  +    {
          134  +	const long long id; /**< NODE-ID (expected to be a unique value) */
          135  +	const double latitude; /**< geographic latitude */
          136  +	const double longitude;	/**< geographic longitude */
          137  +	const int version; /**< object version */
          138  +	const long long changeset; /**< ChangeSet ID */
          139  +	const char *user; /**< name of the User defining this NODE */
          140  +	const int uid; /**< corresponding numeric UserID */
          141  +	const char *timestamp; /**< when this NODE was defined */
          142  +	const int tag_count; /**< number of associated TAGs (may be zero) */
          143  +	const readosm_tag *tags; /**< array of TAG objects (may be NULL) */
          144  +    };
          145  +
          146  +	/**
          147  +     Typedef for NODE structure.
          148  +     
          149  +     \sa readosm_node_struct
          150  +     */
          151  +    typedef struct readosm_node_struct readosm_node;
          152  +
          153  +	/**
          154  +	 a struct representing a WAY object, and wrapping a complex XML fragment like the following:
          155  +	\verbatim
          156  +<way id="12345" version="1" changeset="54321" user="some-user" uid="66" timestamp="2005-02-28T17:45:15Z">
          157  +	<nd ref="12345" />
          158  +	<nd ref="12346" />
          159  +	<nd ref="12347" />
          160  +	<tag key="created_by" value="JOSM" />
          161  +	<tag key="tourism" value="camp_site" />
          162  +</way>
          163  +	\endverbatim
          164  +	 */
          165  +    struct readosm_way_struct
          166  +    {
          167  +	const long long id; /**< WAY-ID (expected to be a unique value) */
          168  +	const int version; /**< object version */
          169  +	const long long changeset; /**< ChangeSet ID */
          170  +	const char *user; /**< name of the User defining this WAY */
          171  +	const int uid; /**< corresponding numeric UserID */
          172  +	const char *timestamp; /**< when this WAY was defined */
          173  +	const int node_ref_count; /**< number of referenced NODE-IDs (may be zero) */
          174  +	const long long *node_refs; /**< array of NODE-IDs (may be NULL) */
          175  +	const int tag_count; /**< number of associated TAGs (may be zero) */
          176  +	const readosm_tag *tags; /**< array of TAG objects (may be NULL) */
          177  +    };
          178  +
          179  +	/**
          180  +     Typedef for WAY structure.
          181  +     
          182  +     \sa readosm_way_struct
          183  +     */
          184  +    typedef struct readosm_way_struct readosm_way;
          185  +
          186  +	/**
          187  +	 a struct representing a RELATION-MEMBER, and wrapping an XML fragment like the following:
          188  +	\verbatim
          189  +<member type="some-type" ref="12345" role="some-role" />
          190  +	\endverbatim
          191  +	 */
          192  +    struct readosm_member_struct
          193  +    {
          194  +
          195  +	const int member_type; /**< can be one of: READOSM_MEMBER_NODE, READOSM_MEMBER_WAY or READOSM_MEMBER_RELATION */
          196  +	const long long id; /**< ID-value identifying the referenced object */
          197  +	const char *role; /**< intended role for this reference */
          198  +    };
          199  +
          200  +	/**
          201  +     Typedef for MEMBER structure.
          202  +     
          203  +     \sa readosm_member_struct
          204  +     */
          205  +    typedef struct readosm_member_struct readosm_member;
          206  +
          207  +
          208  +	/**
          209  +	 a struct representing a RELATION object, and wrapping a complex XML fragment like the following:
          210  +	\verbatim
          211  +<relation id="12345" version="1" changeset="54321" user="some-user" uid="66" timestamp="2005-02-28T17:45:15Z">
          212  +	<member type="way" ref="12345" role="outer" />
          213  +	<member type="way" ref="12346" role="inner" />
          214  +	<tag key="created_by" value="JOSM" />
          215  +	<tag key="tourism" value="camp_site" />
          216  +</relation>
          217  +	\endverbatim
          218  +	 */
          219  +    struct readosm_relation_struct
          220  +    {
          221  +	const long long id; /**< RELATION-ID (expected to be a unique value) */
          222  +	const int version; /**< object version */
          223  +	const long long changeset; /**< ChangeSet ID */
          224  +	const char *user; /**< name of the User defining this RELATION */
          225  +	const int uid; /**< corresponding numeric UserID */
          226  +	const char *timestamp; /**< when this RELATION was defined */
          227  +	const int member_count;	/**< number of associated MEMBERs (may be zero) */
          228  +	const readosm_member *members; /**< array of MEMBER objects (may be NULL) */
          229  +	const int tag_count; /**< number of associated TAGs (may be zero) */
          230  +	const readosm_tag *tags; /**< array of TAG objects (may be NULL) */
          231  +    };
          232  +
          233  +	/**
          234  +     Typedef for RELATION structure.
          235  +     
          236  +     \sa readosm_relation_struct
          237  +     */
          238  +    typedef struct readosm_relation_struct readosm_relation;
          239  +
          240  +/** callback function handling NODE objects */
          241  +    typedef int (*readosm_node_callback) (const void *user_data,
          242  +					  const readosm_node * node);
          243  +
          244  +/** callback function handling WAY objects */
          245  +    typedef int (*readosm_way_callback) (const void *user_data,
          246  +					 const readosm_way * way);
          247  +
          248  +/** callback function handling RELATION objects */
          249  +    typedef int (*readosm_relation_callback) (const void *user_data,
          250  +					      const readosm_relation *
          251  +					      relation);
          252  +
          253  +    /**
          254  +     Open the .osm or .pbf file, preparing for future functions
          255  +     
          256  +     \param path full or relative pathname of the input file.
          257  +     \param osm_handle an opaque reference (handle) to be used in each
          258  +     subsequent function (return value).
          259  +
          260  +     \return READOSM_OK will be returned on success, otherwise any appropriate
          261  +     error code on failure.
          262  +
          263  +     \note You are expected to readosm_close() even on failure, so as to
          264  +     correctly release any dynamic memory allocation.
          265  +     */
          266  +    READOSM_DECLARE int readosm_open (const char *path,
          267  +				      const void **osm_handle);
          268  +
          269  +    /** 
          270  +     Close the .osm or .pbf file and release any allocated resource
          271  +
          272  +    \param osm_handle the handle previously returned by readosm_open()
          273  +
          274  +    \return READOSM_OK will be returned on success, otherwise any appropriate
          275  +     error code on failure.
          276  +    
          277  +    \note After calling readosm_close() any related resource will be released,
          278  +    and the handle will no longer be valid.
          279  +    */
          280  +    READOSM_DECLARE int readosm_close (const void *osm_handle);
          281  +
          282  +    /** 
          283  +     Close the .osm or .pbf file and release any allocated resource
          284  +
          285  +    \param osm_handle the handle previously returned by readosm_open()
          286  +\param user_data pointer to some user-supplied data struct
          287  +	\param node_fnct pointer to callback function intended to consume NODE objects 
          288  +	(may be NULL if processing NODEs is not an interesting option)
          289  +	\param way_fnct pointer to callback function intended to consume WAY objects 
          290  +	(may be NULL if processing WAYs is not an interesting option)
          291  +	\param relation_fnct pointer to callback function intended to consume RELATION objects 
          292  +	(may be NULL if processing RELATIONs is not an interesting option)
          293  +
          294  +    \return READOSM_OK will be returned on success, otherwise any appropriate
          295  +     error code on failure.
          296  +    
          297  +    \note After calling readosm_close() any related resource will be released,
          298  +    and the handle will no longer be valid.
          299  +    */
          300  +    READOSM_DECLARE int readosm_parse (const void *osm_handle,
          301  +				       const void *user_data,
          302  +				       readosm_node_callback node_fnct,
          303  +				       readosm_way_callback way_fnct,
          304  +				       readosm_relation_callback relation_fnct);
          305  +
          306  +#ifdef __cplusplus
          307  +}
          308  +#endif
          309  +
          310  +#endif				/* _READOSM_H */

Added headers/readosm_internals.h.

            1  +/* 
            2  +/ readosm_internals.h
            3  +/
            4  +/ internal declarations
            5  +/
            6  +/ version  1.0, 2012 April 10
            7  +/
            8  +/ Author: Sandro Furieri a.furieri@lqt.it
            9  +/
           10  +/ ------------------------------------------------------------------------------
           11  +/ 
           12  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           13  +/ 
           14  +/ The contents of this file are subject to the Mozilla Public License Version
           15  +/ 1.1 (the "License"); you may not use this file except in compliance with
           16  +/ the License. You may obtain a copy of the License at
           17  +/ http://www.mozilla.org/MPL/
           18  +/ 
           19  +/ Software distributed under the License is distributed on an "AS IS" basis,
           20  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           21  +/ for the specific language governing rights and limitations under theskip:
           22  +/ License.
           23  +/
           24  +/ The Original Code is the ReadOSM library
           25  +/
           26  +/ The Initial Developer of the Original Code is Alessandro Furieri
           27  +/ 
           28  +/ Portions created by the Initial Developer are Copyright (C) 2012
           29  +/ the Initial Developer. All Rights Reserved.
           30  +/ 
           31  +/ Contributor(s):
           32  +/ 
           33  +/ Alternatively, the contents of this file may be used under the terms of
           34  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           35  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           36  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           37  +/ of those above. If you wish to allow use of your version of this file only
           38  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           39  +/ use your version of this file under the terms of the MPL, indicate your
           40  +/ decision by deleting the provisions above and replace them with the notice
           41  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           42  +/ the provisions above, a recipient may use your version of this file under
           43  +/ the terms of any one of the MPL, the GPL or the LGPL.
           44  +/ 
           45  +*/
           46  +
           47  +/* endianness */
           48  +#define READOSM_BIG_ENDIAN	0
           49  +#define READOSM_LITTLE_ENDIAN	1
           50  +
           51  +/* magic signatures */
           52  +#define READOSM_MAGIC_START	945371767
           53  +#define READOSM_MAGIC_END	1472954381
           54  +
           55  +/* file formats */
           56  +#define READOSM_OSM_FORMAT	4589
           57  +#define READOSM_PBF_FORMAT	7491
           58  +
           59  +/* XML tags */
           60  +#define READOSM_CURRENT_TAG_UNKNOWN 	0
           61  +#define READOSM_CURRENT_TAG_IS_NODE	101
           62  +#define READOSM_CURRENT_TAG_IS_WAY	102
           63  +#define READOSM_CURRENT_TAG_IS_RELATION	103
           64  +
           65  +/* block size */
           66  +#define READOSM_BLOCK_SZ	128
           67  +
           68  +typedef struct readosm_internal_tag_struct
           69  +{
           70  +/* a struct wrapping TAG items */
           71  +    char *key;			/* pointer to KEY value (NULL terminated string) */
           72  +    char *value;		/* pointer to VALUE (NULL terminated string) */
           73  +} readosm_internal_tag;
           74  +
           75  +typedef struct readosm_internal_tag_block_struct
           76  +{
           77  +/* a struct wrapping a block of TAG items */
           78  +    readosm_internal_tag tags[READOSM_BLOCK_SZ];	/* array of Tags */
           79  +    int next_item;		/* index to next free (unused) item */
           80  +    struct readosm_internal_tag_block_struct *next;	/* supporting linked list */
           81  +} readosm_internal_tag_block;
           82  +
           83  +typedef struct readosm_export_tag_struct
           84  +{
           85  +/* a struct intended to export TAG items */
           86  +    char *key;			/* pointer to KEY value (NULL terminated string) */
           87  +    char *value;		/* pointer to VALUE (NULL terminated string) */
           88  +} readosm_export_tag;
           89  +
           90  +typedef struct readosm_internal_node_struct
           91  +{
           92  +/* a struct wrapping NODE items */
           93  +    long long id;		/* NODE-ID (unique value) */
           94  +    double latitude;		/* geographic latitude */
           95  +    double longitude;		/* geographic longitude */
           96  +    int version;		/* version id */
           97  +    long long changeset;	/* changeset id */
           98  +    char *user;			/* pointer to user name (NULL terminated string) */
           99  +    int uid;			/* uid identifying the user */
          100  +    char *timestamp;		/* last modified timestamp */
          101  +    int tag_count;		/* how many TAG items are there */
          102  +    readosm_internal_tag_block first_tag;	/* pointers supporting a linked list */
          103  +    readosm_internal_tag_block *last_tag;	/* of TAG blocks (first block is static) */
          104  +} readosm_internal_node;
          105  +
          106  +typedef struct readosm_export_node_struct
          107  +{
          108  +/* a struct intended to export NODE items */
          109  +    long long id;		/* NODE-ID (unique value) */
          110  +    double latitude;		/* geographic latitude */
          111  +    double longitude;		/* geographic longitude */
          112  +    int version;		/* version id */
          113  +    long long changeset;	/* changeset id */
          114  +    char *user;			/* pointer to user name (NULL terminated string) */
          115  +    int uid;			/* uid identifying the user */
          116  +    char *timestamp;		/* last modified timestamp */
          117  +    int tag_count;		/* how many TAG items are there */
          118  +    readosm_export_tag *tags;	/* array of TAG items */
          119  +} readosm_export_node;
          120  +
          121  +typedef struct readosm_internal_ref_struct
          122  +{
          123  +/* a block of WAY-ND items */
          124  +    long long node_refs[READOSM_BLOCK_SZ];	/* referenced NODE-ID array */
          125  +    int next_item;		/* index to next free (unused) item */
          126  +    struct readosm_internal_ref_struct *next;	/* supporting linked list */
          127  +} readosm_internal_ref;
          128  +
          129  +typedef struct readosm_internal_way_struct
          130  +{
          131  +/* a struct wrapping WAY items */
          132  +    long long id;		/* WAY-ID (unique value) */
          133  +    int version;		/* version id */
          134  +    long long changeset;	/* changeset id */
          135  +    char *user;			/* pointer to user name (NULL terminated string) */
          136  +    int uid;			/* uid identifying the user */
          137  +    char *timestamp;		/* last modified timestamp */
          138  +    int ref_count;		/* how many WAY-ND items are there */
          139  +    readosm_internal_ref first_ref;	/* pointers supporting a linked list */
          140  +    readosm_internal_ref *last_ref;	/* of WAY-ND items (first block is static) */
          141  +    int tag_count;		/* how many TAG items are there */
          142  +    readosm_internal_tag_block first_tag;	/* pointers supporting a linked list */
          143  +    readosm_internal_tag_block *last_tag;	/* of TAG blocks (first block is static) */
          144  +} readosm_internal_way;
          145  +
          146  +typedef struct readosm_export_way_struct
          147  +{
          148  +/* a struct intended to export WAY items */
          149  +    long long id;		/* WAY-ID (unique value) */
          150  +    int version;		/* version id */
          151  +    long long changeset;	/* changeset id */
          152  +    char *user;			/* pointer to user name (NULL terminated string) */
          153  +    int uid;			/* uid identifying the user */
          154  +    char *timestamp;		/* last modified timestamp */
          155  +    int node_ref_count;		/* how many WAY-ND items are there */
          156  +    long long *node_refs;	/* array of WAY-ND items */
          157  +    int tag_count;		/* how many TAG items are there */
          158  +    readosm_export_tag *tags;	/* array of TAG items */
          159  +} readosm_export_way;
          160  +
          161  +typedef struct readosm_internal_member_struct
          162  +{
          163  +/* a struct wrapping RELATION-MEMBER items */
          164  +    int member_type;		/* member type [some READOSM_MEMBER_xx constant] */
          165  +    long long id;		/* ID of the referenced object */
          166  +    char *role;			/* pointer to role value (NULL terminated string) */
          167  +} readosm_internal_member;
          168  +
          169  +typedef struct readosm_internal_member_block_struct
          170  +{
          171  +/* a block of RELATION-MEMBER items */
          172  +    readosm_internal_member members[READOSM_BLOCK_SZ];	/* array of MEMBERs */
          173  +    int next_item;		/* index to next free (unused) item */
          174  +    struct readosm_internal_member_block_struct *next;	/* supporting linked list */
          175  +} readosm_internal_member_block;
          176  +
          177  +typedef struct readosm_export_member_struct
          178  +{
          179  +/* a struct intended to export RELATION-MEMBER items */
          180  +    int member_type;		/* member type [some READOSM_MEMBER_xx constant] */
          181  +    long long id;		/* ID of the referenced object */
          182  +    char *role;			/* pointer to role value (NULL terminated string) */
          183  +} readosm_export_member;
          184  +
          185  +typedef struct readosm_internal_relation_struct
          186  +{
          187  +/* a struct wrapping RELATION items */
          188  +    long long id;		/* RELATION-ID (unique value) */
          189  +    int version;		/* version id */
          190  +    long long changeset;	/* changeset id */
          191  +    char *user;			/* pointer to user name (NULL terminated string) */
          192  +    int uid;			/* uid identifying the user */
          193  +    char *timestamp;		/* last modified timestamp */
          194  +    int member_count;		/* how many RELATION-MEMBER items are there */
          195  +    readosm_internal_member_block first_member;	/* pointers supporting a linked list */
          196  +    readosm_internal_member_block *last_member;	/* of RELATION-MEMBER items (first block is static) */
          197  +    int tag_count;		/* how many TAG items are there */
          198  +    readosm_internal_tag_block first_tag;	/* pointers supporting a linked list */
          199  +    readosm_internal_tag_block *last_tag;	/* of TAG-blocks (first block is static) */
          200  +} readosm_internal_relation;
          201  +
          202  +typedef struct readosm_export_relation_struct
          203  +{
          204  +/* a struct intended to export RELATION objects */
          205  +    long long id;		/* RELATION-ID (unique value) */
          206  +    int version;		/* version id */
          207  +    long long changeset;	/* changeset id */
          208  +    char *user;			/* pointer to user name (NULL terminated string) */
          209  +    int uid;			/* uid identifying the user */
          210  +    char *timestamp;		/* last modified timestamp */
          211  +    int member_count;		/* how many RELATION-MEMBER items are there */
          212  +    readosm_export_member *members;	/* array of RELATION-MEMBER items */
          213  +    int tag_count;		/* how many TAG items are there */
          214  +    readosm_export_tag *tags;	/* array of TAG items */
          215  +} readosm_export_relation;
          216  +
          217  +typedef union readosm_endian4_union
          218  +{
          219  +/* a union used for 32 bit ints [cross-endian] */
          220  +    unsigned char bytes[4];	/* raw byte buffer */
          221  +    int int32_value;		/* signed int32 */
          222  +    unsigned int uint32_value;	/* unsigned int32 */
          223  +    float float_value;		/* floating point, single precision */
          224  +} readosm_endian4;
          225  +
          226  +typedef union readosm_endian8_union
          227  +{
          228  +/* a union used for 64 bit ints [cross-endian] */
          229  +    unsigned char bytes[8];	/* raw byte buffer */
          230  +    long long int64_value;	/* signed int64 */
          231  +    unsigned long long uint64_value;	/* unsigned int64 */
          232  +    double double_value;	/* floating point, double precision */
          233  +} readosm_endian8;
          234  +
          235  +
          236  +typedef struct readosm_file_struct
          237  +{
          238  +/* a struct representing an OSM input file */
          239  +    int magic1;			/* magic signature #1 */
          240  +    FILE *in;			/* file handle */
          241  +    int file_format;		/* the actual file format */
          242  +    char little_endian_cpu;	/* actual CPU endianness */
          243  +    int magic2;			/* magic signature #2 */
          244  +} readosm_file;
          245  +
          246  +/* functions handling common OSM objects */
          247  +READOSM_PRIVATE void release_internal_tag_block (readosm_internal_tag_block *
          248  +						 tag_block, int destroy);
          249  +READOSM_PRIVATE void
          250  +release_internal_member_block (readosm_internal_member_block * member_block,
          251  +			       int destroy);
          252  +READOSM_PRIVATE void init_internal_node (readosm_internal_node * node);
          253  +READOSM_PRIVATE void append_tag_to_node (readosm_internal_node * node,
          254  +					 const char *key, const char *value);
          255  +READOSM_PRIVATE void destroy_internal_node (readosm_internal_node * node);
          256  +READOSM_PRIVATE readosm_internal_way *alloc_internal_way (void);
          257  +READOSM_PRIVATE void append_reference_to_way (readosm_internal_way * way,
          258  +					      long long node_ref);
          259  +READOSM_PRIVATE void append_tag_to_way (readosm_internal_way * way,
          260  +					const char *key, const char *value);
          261  +READOSM_PRIVATE void destroy_internal_way (readosm_internal_way * way);
          262  +READOSM_PRIVATE readosm_internal_relation *alloc_internal_relation (void);
          263  +READOSM_PRIVATE void append_member_to_relation (readosm_internal_relation *
          264  +						relation, int type,
          265  +						long long id, const char *role);
          266  +READOSM_PRIVATE void append_tag_to_relation (readosm_internal_relation *
          267  +					     relation, const char *key,
          268  +					     const char *value);
          269  +READOSM_PRIVATE void destroy_internal_relation (readosm_internal_relation *
          270  +						relation);
          271  +
          272  +/* XML and ProtoBuf parsers */
          273  +READOSM_PRIVATE int parse_osm_pbf (readosm_file * input, const void *user_data,
          274  +				   readosm_node_callback node_fnct,
          275  +				   readosm_way_callback way_fnct,
          276  +				   readosm_relation_callback relation_fnct);
          277  +READOSM_PRIVATE int parse_osm_xml (readosm_file * input, const void *user_data,
          278  +				   readosm_node_callback node_fnct,
          279  +				   readosm_way_callback way_fnct,
          280  +				   readosm_relation_callback relation_fnct);
          281  +
          282  +/* callback handlers */
          283  +READOSM_PRIVATE int call_node_callback (readosm_node_callback node_callback,
          284  +					const void *user_data,
          285  +					readosm_internal_node * node);
          286  +READOSM_PRIVATE int call_way_callback (readosm_way_callback way_callback,
          287  +				       const void *user_data,
          288  +				       readosm_internal_way * way);
          289  +READOSM_PRIVATE int call_relation_callback (readosm_relation_callback
          290  +					    relation_callback,
          291  +					    const void *user_data,
          292  +					    readosm_internal_relation *
          293  +					    relation);

Added headers/readosm_protobuf.h.

            1  +/* 
            2  +/ readosm_protobuf.h
            3  +/
            4  +/ internal declarations (Protocol Buffer specific)
            5  +/
            6  +/ version  1.0, 2012 April 21
            7  +/
            8  +/ Author: Sandro Furieri a.furieri@lqt.it
            9  +/
           10  +/ ------------------------------------------------------------------------------
           11  +/ 
           12  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           13  +/ 
           14  +/ The contents of this file are subject to the Mozilla Public License Version
           15  +/ 1.1 (the "License"); you may not use this file except in compliance with
           16  +/ the License. You may obtain a copy of the License at
           17  +/ http://www.mozilla.org/MPL/
           18  +/ 
           19  +/ Software distributed under the License is distributed on an "AS IS" basis,
           20  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           21  +/ for the specific language governing rights and limitations under the
           22  +/ License.
           23  +/
           24  +/ The Original Code is the ReadOSM library
           25  +/
           26  +/ The Initial Developer of the Original Code is Alessandro Furieri
           27  +/ 
           28  +/ Portions created by the Initial Developer are Copyright (C) 2012
           29  +/ the Initial Developer. All Rights Reserved.
           30  +/ 
           31  +/ Contributor(s):
           32  +/ 
           33  +/ Alternatively, the contents of this file may be used under the terms of
           34  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           35  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           36  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           37  +/ of those above. If you wish to allow use of your version of this file only
           38  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           39  +/ use your version of this file under the terms of the MPL, indicate your
           40  +/ decision by deleting the provisions above and replace them with the notice
           41  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           42  +/ the provisions above, a recipient may use your version of this file under
           43  +/ the terms of any one of the MPL, the GPL or the LGPL.
           44  +/ 
           45  +*/
           46  +
           47  +/*
           48  + * PBF stands for: Protocol Buffer Format
           49  + * a serialization notation documented here:
           50  + * http://wiki.openstreetmap.org/wiki/PBF_Format
           51  + * and here too:
           52  + * https://developers.google.com/protocol-buffers/docs/encoding
           53  + */
           54  +
           55  +/* PBF variant validity */
           56  +#define READOSM_VAR_INVALID	0
           57  +#define READOSM_VAR_VALID	1
           58  +
           59  +/* PBF variant types */
           60  +#define READOSM_VAR_UNDEFINED	0
           61  +#define READOSM_VAR_INT32	1
           62  +#define READOSM_VAR_INT64	2
           63  +#define READOSM_VAR_UINT32	3
           64  +#define READOSM_VAR_UINT64	4
           65  +#define READOSM_VAR_SINT32	5
           66  +#define READOSM_VAR_SINT64	6
           67  +#define READOSM_VAR_BOOL	7
           68  +#define READOSM_VAR_ENUM	8
           69  +#define READOSM_LEN_BYTES	9
           70  +
           71  +/* PBF bitmasks used for 32 bit VarInts */
           72  +#define READOSM_MASK32_1	0x0000007f
           73  +#define READOSM_MASK32_2	0x00003f80
           74  +#define READOSM_MASK32_3	0x001fc000
           75  +#define READOSM_MASK32_4	0x0fe00000
           76  +#define READOSM_MASK32_5	0xf0000000
           77  +
           78  +/* PBF bitmasks used for 64 bit VarInts */
           79  +#define READOSM_MASK64_1	0x000000000000007f
           80  +#define READOSM_MASK64_2	0x0000000000003f80
           81  +#define READOSM_MASK64_3	0x00000000001fc000
           82  +#define READOSM_MASK64_4	0x000000000fe00000
           83  +#define READOSM_MASK64_5	0x00000007f0000000
           84  +#define READOSM_MASK64_6	0x000003f800000000
           85  +#define READOSM_MASK64_7	0x0001fc0000000000
           86  +#define READOSM_MASK64_8	0x00fe000000000000
           87  +#define READOSM_MASK64_9	0x7f00000000000000
           88  +#define READOSM_MASK64_A	0x8000000000000000
           89  +
           90  +typedef struct readosm_packed_infos_struct
           91  +{
           92  +/* a struct supporting DenseInfos parsing */
           93  +    int ver_count;		/* how many Version values are there */
           94  +    int *versions;		/* Version values array */
           95  +    int tim_count;		/* how many Timestamp values are there */
           96  +    int *timestamps;		/* Timestamp values array */
           97  +    int cng_count;		/* how many Changeset values are there */
           98  +    long long *changesets;	/* Changeset values array */
           99  +    int uid_count;		/* how many UID values are there */
          100  +    int *uids;			/* UID values array */
          101  +    int usr_count;		/* how many User values are there */
          102  +    int *users;			/* indexes to access corresponding Strings in StringTable */
          103  +} readosm_packed_infos;
          104  +
          105  +typedef struct readosm_variant_hint_struct
          106  +{
          107  +/* VariantHints for PBF parsing */
          108  +    unsigned char field_id;	/* field ID */
          109  +    unsigned char type;		/* expected type */
          110  +    struct readosm_variant_hint_struct *next;	/* supporting linked list */
          111  +} readosm_variant_hint;
          112  +
          113  +typedef struct readosm_variant_struct
          114  +{
          115  +/* a PBF Variant type wrapper */
          116  +    char little_endian_cpu;	/* actual CPU endianness */
          117  +    unsigned char type;		/* current type */
          118  +    unsigned char field_id;	/* field ID */
          119  +    union variant_value
          120  +    {
          121  +	int int32_value;	/* signed int32 */
          122  +	unsigned int uint32_value;	/* unsigned int32 */
          123  +	long long int64_value;	/* signed int64 */
          124  +	unsigned long long uint64_value;	/* unsigned int64 */
          125  +	float float_value;	/* floating point, single precision */
          126  +	double double_value;	/* floating point, double precision */
          127  +    } value;			/* numeric variant value */
          128  +    size_t length;		/* length in bytes [for strings] */
          129  +    unsigned char *pointer;	/* pointer to String value */
          130  +    char valid;			/* valid value */
          131  +    readosm_variant_hint *first;	/* pointers supporting a linked list */
          132  +    readosm_variant_hint *last;	/* of VariantHints items */
          133  +} readosm_variant;
          134  +
          135  +typedef struct readosm_string_struct
          136  +{
          137  +/* a String into a PBF StringTable */
          138  +    char *string;		/* pointer to string value (NULL terminated string) */
          139  +    struct readosm_string_struct *next;	/*  supporting linked list */
          140  +} readosm_string;
          141  +
          142  +typedef struct readosm_string_table_struct
          143  +{
          144  +/* a PBF StringTable
          145  + / 
          146  + / Remark: each PBF compressed block includes a StringTable
          147  + / i.e. a centralized table where any string value used within
          148  + / the compressed block itself appears only one time.
          149  + / This is obviously intended so to minimize storage requirements.
          150  + /
          151  + / Individual objects within the PBF file will never directly
          152  + / encode string values; they'll use instead the corresponding
          153  + / index referencing the appropriate string within the StringTable.
          154  +*/
          155  +    readosm_string *first;	/* pointers supporting a linked list */
          156  +    readosm_string *last;	/* of PBF string objects */
          157  +    int count;			/* how many TAG items are there */
          158  +    readosm_string **strings;	/* array of PBF string objects */
          159  +} readosm_string_table;
          160  +
          161  +typedef struct readosm_uint32_struct
          162  +{
          163  +/* a uint32 value into the PBF packed object */
          164  +    unsigned int value;
          165  +    struct readosm_uint32_struct *next;
          166  +} readosm_uint32;
          167  +
          168  +typedef struct readosm_uint32_packed_struct
          169  +{
          170  +/* a PBF uint32 packed object */
          171  +    readosm_uint32 *first;
          172  +    readosm_uint32 *last;
          173  +    int count;
          174  +    unsigned int *values;
          175  +} readosm_uint32_packed;
          176  +
          177  +typedef struct readosm_int32_struct
          178  +{
          179  +/* an int32 value into the PBF packed object */
          180  +    int value;
          181  +    struct readosm_int32_struct *next;
          182  +} readosm_int32;
          183  +
          184  +typedef struct readosm_int32_packed_struct
          185  +{
          186  +/* a PBF int32 packed object */
          187  +    readosm_int32 *first;
          188  +    readosm_int32 *last;
          189  +    int count;
          190  +    int *values;
          191  +} readosm_int32_packed;
          192  +
          193  +typedef struct readosm_int64_struct
          194  +{
          195  +/* an int64 value into the PBF packed object */
          196  +    long long value;
          197  +    struct readosm_int64_struct *next;
          198  +} readosm_int64;
          199  +
          200  +typedef struct readosm_int64_packed_struct
          201  +{
          202  +/* a PBF int64 packed object */
          203  +    readosm_int64 *first;
          204  +    readosm_int64 *last;
          205  +    int count;
          206  +    long long *values;
          207  +} readosm_int64_packed;

Added install-sh.

            1  +#!/bin/sh
            2  +# install - install a program, script, or datafile
            3  +
            4  +scriptversion=2009-04-28.21; # UTC
            5  +
            6  +# This originates from X11R5 (mit/util/scripts/install.sh), which was
            7  +# later released in X11R6 (xc/config/util/install.sh) with the
            8  +# following copyright and license.
            9  +#
           10  +# Copyright (C) 1994 X Consortium
           11  +#
           12  +# Permission is hereby granted, free of charge, to any person obtaining a copy
           13  +# of this software and associated documentation files (the "Software"), to
           14  +# deal in the Software without restriction, including without limitation the
           15  +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
           16  +# sell copies of the Software, and to permit persons to whom the Software is
           17  +# furnished to do so, subject to the following conditions:
           18  +#
           19  +# The above copyright notice and this permission notice shall be included in
           20  +# all copies or substantial portions of the Software.
           21  +#
           22  +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
           23  +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
           24  +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
           25  +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
           26  +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
           27  +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
           28  +#
           29  +# Except as contained in this notice, the name of the X Consortium shall not
           30  +# be used in advertising or otherwise to promote the sale, use or other deal-
           31  +# ings in this Software without prior written authorization from the X Consor-
           32  +# tium.
           33  +#
           34  +#
           35  +# FSF changes to this file are in the public domain.
           36  +#
           37  +# Calling this script install-sh is preferred over install.sh, to prevent
           38  +# `make' implicit rules from creating a file called install from it
           39  +# when there is no Makefile.
           40  +#
           41  +# This script is compatible with the BSD install script, but was written
           42  +# from scratch.
           43  +
           44  +nl='
           45  +'
           46  +IFS=" ""	$nl"
           47  +
           48  +# set DOITPROG to echo to test this script
           49  +
           50  +# Don't use :- since 4.3BSD and earlier shells don't like it.
           51  +doit=${DOITPROG-}
           52  +if test -z "$doit"; then
           53  +  doit_exec=exec
           54  +else
           55  +  doit_exec=$doit
           56  +fi
           57  +
           58  +# Put in absolute file names if you don't have them in your path;
           59  +# or use environment vars.
           60  +
           61  +chgrpprog=${CHGRPPROG-chgrp}
           62  +chmodprog=${CHMODPROG-chmod}
           63  +chownprog=${CHOWNPROG-chown}
           64  +cmpprog=${CMPPROG-cmp}
           65  +cpprog=${CPPROG-cp}
           66  +mkdirprog=${MKDIRPROG-mkdir}
           67  +mvprog=${MVPROG-mv}
           68  +rmprog=${RMPROG-rm}
           69  +stripprog=${STRIPPROG-strip}
           70  +
           71  +posix_glob='?'
           72  +initialize_posix_glob='
           73  +  test "$posix_glob" != "?" || {
           74  +    if (set -f) 2>/dev/null; then
           75  +      posix_glob=
           76  +    else
           77  +      posix_glob=:
           78  +    fi
           79  +  }
           80  +'
           81  +
           82  +posix_mkdir=
           83  +
           84  +# Desired mode of installed file.
           85  +mode=0755
           86  +
           87  +chgrpcmd=
           88  +chmodcmd=$chmodprog
           89  +chowncmd=
           90  +mvcmd=$mvprog
           91  +rmcmd="$rmprog -f"
           92  +stripcmd=
           93  +
           94  +src=
           95  +dst=
           96  +dir_arg=
           97  +dst_arg=
           98  +
           99  +copy_on_change=false
          100  +no_target_directory=
          101  +
          102  +usage="\
          103  +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
          104  +   or: $0 [OPTION]... SRCFILES... DIRECTORY
          105  +   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
          106  +   or: $0 [OPTION]... -d DIRECTORIES...
          107  +
          108  +In the 1st form, copy SRCFILE to DSTFILE.
          109  +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
          110  +In the 4th, create DIRECTORIES.
          111  +
          112  +Options:
          113  +     --help     display this help and exit.
          114  +     --version  display version info and exit.
          115  +
          116  +  -c            (ignored)
          117  +  -C            install only if different (preserve the last data modification time)
          118  +  -d            create directories instead of installing files.
          119  +  -g GROUP      $chgrpprog installed files to GROUP.
          120  +  -m MODE       $chmodprog installed files to MODE.
          121  +  -o USER       $chownprog installed files to USER.
          122  +  -s            $stripprog installed files.
          123  +  -t DIRECTORY  install into DIRECTORY.
          124  +  -T            report an error if DSTFILE is a directory.
          125  +
          126  +Environment variables override the default commands:
          127  +  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
          128  +  RMPROG STRIPPROG
          129  +"
          130  +
          131  +while test $# -ne 0; do
          132  +  case $1 in
          133  +    -c) ;;
          134  +
          135  +    -C) copy_on_change=true;;
          136  +
          137  +    -d) dir_arg=true;;
          138  +
          139  +    -g) chgrpcmd="$chgrpprog $2"
          140  +	shift;;
          141  +
          142  +    --help) echo "$usage"; exit $?;;
          143  +
          144  +    -m) mode=$2
          145  +	case $mode in
          146  +	  *' '* | *'	'* | *'
          147  +'*	  | *'*'* | *'?'* | *'['*)
          148  +	    echo "$0: invalid mode: $mode" >&2
          149  +	    exit 1;;
          150  +	esac
          151  +	shift;;
          152  +
          153  +    -o) chowncmd="$chownprog $2"
          154  +	shift;;
          155  +
          156  +    -s) stripcmd=$stripprog;;
          157  +
          158  +    -t) dst_arg=$2
          159  +	shift;;
          160  +
          161  +    -T) no_target_directory=true;;
          162  +
          163  +    --version) echo "$0 $scriptversion"; exit $?;;
          164  +
          165  +    --)	shift
          166  +	break;;
          167  +
          168  +    -*)	echo "$0: invalid option: $1" >&2
          169  +	exit 1;;
          170  +
          171  +    *)  break;;
          172  +  esac
          173  +  shift
          174  +done
          175  +
          176  +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
          177  +  # When -d is used, all remaining arguments are directories to create.
          178  +  # When -t is used, the destination is already specified.
          179  +  # Otherwise, the last argument is the destination.  Remove it from $@.
          180  +  for arg
          181  +  do
          182  +    if test -n "$dst_arg"; then
          183  +      # $@ is not empty: it contains at least $arg.
          184  +      set fnord "$@" "$dst_arg"
          185  +      shift # fnord
          186  +    fi
          187  +    shift # arg
          188  +    dst_arg=$arg
          189  +  done
          190  +fi
          191  +
          192  +if test $# -eq 0; then
          193  +  if test -z "$dir_arg"; then
          194  +    echo "$0: no input file specified." >&2
          195  +    exit 1
          196  +  fi
          197  +  # It's OK to call `install-sh -d' without argument.
          198  +  # This can happen when creating conditional directories.
          199  +  exit 0
          200  +fi
          201  +
          202  +if test -z "$dir_arg"; then
          203  +  trap '(exit $?); exit' 1 2 13 15
          204  +
          205  +  # Set umask so as not to create temps with too-generous modes.
          206  +  # However, 'strip' requires both read and write access to temps.
          207  +  case $mode in
          208  +    # Optimize common cases.
          209  +    *644) cp_umask=133;;
          210  +    *755) cp_umask=22;;
          211  +
          212  +    *[0-7])
          213  +      if test -z "$stripcmd"; then
          214  +	u_plus_rw=
          215  +      else
          216  +	u_plus_rw='% 200'
          217  +      fi
          218  +      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
          219  +    *)
          220  +      if test -z "$stripcmd"; then
          221  +	u_plus_rw=
          222  +      else
          223  +	u_plus_rw=,u+rw
          224  +      fi
          225  +      cp_umask=$mode$u_plus_rw;;
          226  +  esac
          227  +fi
          228  +
          229  +for src
          230  +do
          231  +  # Protect names starting with `-'.
          232  +  case $src in
          233  +    -*) src=./$src;;
          234  +  esac
          235  +
          236  +  if test -n "$dir_arg"; then
          237  +    dst=$src
          238  +    dstdir=$dst
          239  +    test -d "$dstdir"
          240  +    dstdir_status=$?
          241  +  else
          242  +
          243  +    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
          244  +    # might cause directories to be created, which would be especially bad
          245  +    # if $src (and thus $dsttmp) contains '*'.
          246  +    if test ! -f "$src" && test ! -d "$src"; then
          247  +      echo "$0: $src does not exist." >&2
          248  +      exit 1
          249  +    fi
          250  +
          251  +    if test -z "$dst_arg"; then
          252  +      echo "$0: no destination specified." >&2
          253  +      exit 1
          254  +    fi
          255  +
          256  +    dst=$dst_arg
          257  +    # Protect names starting with `-'.
          258  +    case $dst in
          259  +      -*) dst=./$dst;;
          260  +    esac
          261  +
          262  +    # If destination is a directory, append the input filename; won't work
          263  +    # if double slashes aren't ignored.
          264  +    if test -d "$dst"; then
          265  +      if test -n "$no_target_directory"; then
          266  +	echo "$0: $dst_arg: Is a directory" >&2
          267  +	exit 1
          268  +      fi
          269  +      dstdir=$dst
          270  +      dst=$dstdir/`basename "$src"`
          271  +      dstdir_status=0
          272  +    else
          273  +      # Prefer dirname, but fall back on a substitute if dirname fails.
          274  +      dstdir=`
          275  +	(dirname "$dst") 2>/dev/null ||
          276  +	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
          277  +	     X"$dst" : 'X\(//\)[^/]' \| \
          278  +	     X"$dst" : 'X\(//\)$' \| \
          279  +	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
          280  +	echo X"$dst" |
          281  +	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
          282  +		   s//\1/
          283  +		   q
          284  +		 }
          285  +		 /^X\(\/\/\)[^/].*/{
          286  +		   s//\1/
          287  +		   q
          288  +		 }
          289  +		 /^X\(\/\/\)$/{
          290  +		   s//\1/
          291  +		   q
          292  +		 }
          293  +		 /^X\(\/\).*/{
          294  +		   s//\1/
          295  +		   q
          296  +		 }
          297  +		 s/.*/./; q'
          298  +      `
          299  +
          300  +      test -d "$dstdir"
          301  +      dstdir_status=$?
          302  +    fi
          303  +  fi
          304  +
          305  +  obsolete_mkdir_used=false
          306  +
          307  +  if test $dstdir_status != 0; then
          308  +    case $posix_mkdir in
          309  +      '')
          310  +	# Create intermediate dirs using mode 755 as modified by the umask.
          311  +	# This is like FreeBSD 'install' as of 1997-10-28.
          312  +	umask=`umask`
          313  +	case $stripcmd.$umask in
          314  +	  # Optimize common cases.
          315  +	  *[2367][2367]) mkdir_umask=$umask;;
          316  +	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
          317  +
          318  +	  *[0-7])
          319  +	    mkdir_umask=`expr $umask + 22 \
          320  +	      - $umask % 100 % 40 + $umask % 20 \
          321  +	      - $umask % 10 % 4 + $umask % 2
          322  +	    `;;
          323  +	  *) mkdir_umask=$umask,go-w;;
          324  +	esac
          325  +
          326  +	# With -d, create the new directory with the user-specified mode.
          327  +	# Otherwise, rely on $mkdir_umask.
          328  +	if test -n "$dir_arg"; then
          329  +	  mkdir_mode=-m$mode
          330  +	else
          331  +	  mkdir_mode=
          332  +	fi
          333  +
          334  +	posix_mkdir=false
          335  +	case $umask in
          336  +	  *[123567][0-7][0-7])
          337  +	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
          338  +	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
          339  +	    ;;
          340  +	  *)
          341  +	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
          342  +	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
          343  +
          344  +	    if (umask $mkdir_umask &&
          345  +		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
          346  +	    then
          347  +	      if test -z "$dir_arg" || {
          348  +		   # Check for POSIX incompatibilities with -m.
          349  +		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
          350  +		   # other-writeable bit of parent directory when it shouldn't.
          351  +		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
          352  +		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
          353  +		   case $ls_ld_tmpdir in
          354  +		     d????-?r-*) different_mode=700;;
          355  +		     d????-?--*) different_mode=755;;
          356  +		     *) false;;
          357  +		   esac &&
          358  +		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
          359  +		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
          360  +		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
          361  +		   }
          362  +		 }
          363  +	      then posix_mkdir=:
          364  +	      fi
          365  +	      rmdir "$tmpdir/d" "$tmpdir"
          366  +	    else
          367  +	      # Remove any dirs left behind by ancient mkdir implementations.
          368  +	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
          369  +	    fi
          370  +	    trap '' 0;;
          371  +	esac;;
          372  +    esac
          373  +
          374  +    if
          375  +      $posix_mkdir && (
          376  +	umask $mkdir_umask &&
          377  +	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
          378  +      )
          379  +    then :
          380  +    else
          381  +
          382  +      # The umask is ridiculous, or mkdir does not conform to POSIX,
          383  +      # or it failed possibly due to a race condition.  Create the
          384  +      # directory the slow way, step by step, checking for races as we go.
          385  +
          386  +      case $dstdir in
          387  +	/*) prefix='/';;
          388  +	-*) prefix='./';;
          389  +	*)  prefix='';;
          390  +      esac
          391  +
          392  +      eval "$initialize_posix_glob"
          393  +
          394  +      oIFS=$IFS
          395  +      IFS=/
          396  +      $posix_glob set -f
          397  +      set fnord $dstdir
          398  +      shift
          399  +      $posix_glob set +f
          400  +      IFS=$oIFS
          401  +
          402  +      prefixes=
          403  +
          404  +      for d
          405  +      do
          406  +	test -z "$d" && continue
          407  +
          408  +	prefix=$prefix$d
          409  +	if test -d "$prefix"; then
          410  +	  prefixes=
          411  +	else
          412  +	  if $posix_mkdir; then
          413  +	    (umask=$mkdir_umask &&
          414  +	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
          415  +	    # Don't fail if two instances are running concurrently.
          416  +	    test -d "$prefix" || exit 1
          417  +	  else
          418  +	    case $prefix in
          419  +	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
          420  +	      *) qprefix=$prefix;;
          421  +	    esac
          422  +	    prefixes="$prefixes '$qprefix'"
          423  +	  fi
          424  +	fi
          425  +	prefix=$prefix/
          426  +      done
          427  +
          428  +      if test -n "$prefixes"; then
          429  +	# Don't fail if two instances are running concurrently.
          430  +	(umask $mkdir_umask &&
          431  +	 eval "\$doit_exec \$mkdirprog $prefixes") ||
          432  +	  test -d "$dstdir" || exit 1
          433  +	obsolete_mkdir_used=true
          434  +      fi
          435  +    fi
          436  +  fi
          437  +
          438  +  if test -n "$dir_arg"; then
          439  +    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
          440  +    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
          441  +    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
          442  +      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
          443  +  else
          444  +
          445  +    # Make a couple of temp file names in the proper directory.
          446  +    dsttmp=$dstdir/_inst.$$_
          447  +    rmtmp=$dstdir/_rm.$$_
          448  +
          449  +    # Trap to clean up those temp files at exit.
          450  +    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
          451  +
          452  +    # Copy the file name to the temp name.
          453  +    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
          454  +
          455  +    # and set any options; do chmod last to preserve setuid bits.
          456  +    #
          457  +    # If any of these fail, we abort the whole thing.  If we want to
          458  +    # ignore errors from any of these, just make sure not to ignore
          459  +    # errors from the above "$doit $cpprog $src $dsttmp" command.
          460  +    #
          461  +    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
          462  +    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
          463  +    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
          464  +    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
          465  +
          466  +    # If -C, don't bother to copy if it wouldn't change the file.
          467  +    if $copy_on_change &&
          468  +       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
          469  +       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
          470  +
          471  +       eval "$initialize_posix_glob" &&
          472  +       $posix_glob set -f &&
          473  +       set X $old && old=:$2:$4:$5:$6 &&
          474  +       set X $new && new=:$2:$4:$5:$6 &&
          475  +       $posix_glob set +f &&
          476  +
          477  +       test "$old" = "$new" &&
          478  +       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
          479  +    then
          480  +      rm -f "$dsttmp"
          481  +    else
          482  +      # Rename the file to the real destination.
          483  +      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
          484  +
          485  +      # The rename failed, perhaps because mv can't rename something else
          486  +      # to itself, or perhaps because mv is so ancient that it does not
          487  +      # support -f.
          488  +      {
          489  +	# Now remove or move aside any old file at destination location.
          490  +	# We try this two ways since rm can't unlink itself on some
          491  +	# systems and the destination file might be busy for other
          492  +	# reasons.  In this case, the final cleanup might fail but the new
          493  +	# file should still install successfully.
          494  +	{
          495  +	  test ! -f "$dst" ||
          496  +	  $doit $rmcmd -f "$dst" 2>/dev/null ||
          497  +	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
          498  +	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
          499  +	  } ||
          500  +	  { echo "$0: cannot unlink or rename $dst" >&2
          501  +	    (exit 1); exit 1
          502  +	  }
          503  +	} &&
          504  +
          505  +	# Now rename the file to the real destination.
          506  +	$doit $mvcmd "$dsttmp" "$dst"
          507  +      }
          508  +    fi || exit 1
          509  +
          510  +    trap '' 0
          511  +  fi
          512  +done
          513  +
          514  +# Local variables:
          515  +# eval: (add-hook 'write-file-hooks 'time-stamp)
          516  +# time-stamp-start: "scriptversion="
          517  +# time-stamp-format: "%:y-%02m-%02d.%02H"
          518  +# time-stamp-time-zone: "UTC"
          519  +# time-stamp-end: "; # UTC"
          520  +# End:

Added ltmain.sh.

            1  +
            2  +# libtool (GNU libtool) 2.4
            3  +# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
            4  +
            5  +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
            6  +# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
            7  +# This is free software; see the source for copying conditions.  There is NO
            8  +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
            9  +
           10  +# GNU Libtool is free software; you can redistribute it and/or modify
           11  +# it under the terms of the GNU General Public License as published by
           12  +# the Free Software Foundation; either version 2 of the License, or
           13  +# (at your option) any later version.
           14  +#
           15  +# As a special exception to the GNU General Public License,
           16  +# if you distribute this file as part of a program or library that
           17  +# is built using GNU Libtool, you may include this file under the
           18  +# same distribution terms that you use for the rest of that program.
           19  +#
           20  +# GNU Libtool is distributed in the hope that it will be useful, but
           21  +# WITHOUT ANY WARRANTY; without even the implied warranty of
           22  +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
           23  +# General Public License for more details.
           24  +#
           25  +# You should have received a copy of the GNU General Public License
           26  +# along with GNU Libtool; see the file COPYING.  If not, a copy
           27  +# can be downloaded from http://www.gnu.org/licenses/gpl.html,
           28  +# or obtained by writing to the Free Software Foundation, Inc.,
           29  +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
           30  +
           31  +# Usage: $progname [OPTION]... [MODE-ARG]...
           32  +#
           33  +# Provide generalized library-building support services.
           34  +#
           35  +#       --config             show all configuration variables
           36  +#       --debug              enable verbose shell tracing
           37  +#   -n, --dry-run            display commands without modifying any files
           38  +#       --features           display basic configuration information and exit
           39  +#       --mode=MODE          use operation mode MODE
           40  +#       --preserve-dup-deps  don't remove duplicate dependency libraries
           41  +#       --quiet, --silent    don't print informational messages
           42  +#       --no-quiet, --no-silent
           43  +#                            print informational messages (default)
           44  +#       --tag=TAG            use configuration variables from tag TAG
           45  +#   -v, --verbose            print more informational messages than default
           46  +#       --no-verbose         don't print the extra informational messages
           47  +#       --version            print version information
           48  +#   -h, --help, --help-all   print short, long, or detailed help message
           49  +#
           50  +# MODE must be one of the following:
           51  +#
           52  +#         clean              remove files from the build directory
           53  +#         compile            compile a source file into a libtool object
           54  +#         execute            automatically set library path, then run a program
           55  +#         finish             complete the installation of libtool libraries
           56  +#         install            install libraries or executables
           57  +#         link               create a library or an executable
           58  +#         uninstall          remove libraries from an installed directory
           59  +#
           60  +# MODE-ARGS vary depending on the MODE.  When passed as first option,
           61  +# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
           62  +# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
           63  +#
           64  +# When reporting a bug, please describe a test case to reproduce it and
           65  +# include the following information:
           66  +#
           67  +#         host-triplet:	$host
           68  +#         shell:		$SHELL
           69  +#         compiler:		$LTCC
           70  +#         compiler flags:		$LTCFLAGS
           71  +#         linker:		$LD (gnu? $with_gnu_ld)
           72  +#         $progname:	(GNU libtool) 2.4
           73  +#         automake:	$automake_version
           74  +#         autoconf:	$autoconf_version
           75  +#
           76  +# Report bugs to <bug-libtool@gnu.org>.
           77  +# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
           78  +# General help using GNU software: <http://www.gnu.org/gethelp/>.
           79  +
           80  +PROGRAM=libtool
           81  +PACKAGE=libtool
           82  +VERSION=2.4
           83  +TIMESTAMP=""
           84  +package_revision=1.3293
           85  +
           86  +# Be Bourne compatible
           87  +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
           88  +  emulate sh
           89  +  NULLCMD=:
           90  +  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
           91  +  # is contrary to our usage.  Disable this feature.
           92  +  alias -g '${1+"$@"}'='"$@"'
           93  +  setopt NO_GLOB_SUBST
           94  +else
           95  +  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
           96  +fi
           97  +BIN_SH=xpg4; export BIN_SH # for Tru64
           98  +DUALCASE=1; export DUALCASE # for MKS sh
           99  +
          100  +# A function that is used when there is no print builtin or printf.
          101  +func_fallback_echo ()
          102  +{
          103  +  eval 'cat <<_LTECHO_EOF
          104  +$1
          105  +_LTECHO_EOF'
          106  +}
          107  +
          108  +# NLS nuisances: We save the old values to restore during execute mode.
          109  +lt_user_locale=
          110  +lt_safe_locale=
          111  +for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
          112  +do
          113  +  eval "if test \"\${$lt_var+set}\" = set; then
          114  +          save_$lt_var=\$$lt_var
          115  +          $lt_var=C
          116  +	  export $lt_var
          117  +	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
          118  +	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
          119  +	fi"
          120  +done
          121  +LC_ALL=C
          122  +LANGUAGE=C
          123  +export LANGUAGE LC_ALL
          124  +
          125  +$lt_unset CDPATH
          126  +
          127  +
          128  +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
          129  +# is ksh but when the shell is invoked as "sh" and the current value of
          130  +# the _XPG environment variable is not equal to 1 (one), the special
          131  +# positional parameter $0, within a function call, is the name of the
          132  +# function.
          133  +progpath="$0"
          134  +
          135  +
          136  +
          137  +: ${CP="cp -f"}
          138  +test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
          139  +: ${EGREP="/bin/grep -E"}
          140  +: ${FGREP="/bin/grep -F"}
          141  +: ${GREP="/bin/grep"}
          142  +: ${LN_S="ln -s"}
          143  +: ${MAKE="make"}
          144  +: ${MKDIR="mkdir"}
          145  +: ${MV="mv -f"}
          146  +: ${RM="rm -f"}
          147  +: ${SED="/bin/sed"}
          148  +: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
          149  +: ${Xsed="$SED -e 1s/^X//"}
          150  +
          151  +# Global variables:
          152  +EXIT_SUCCESS=0
          153  +EXIT_FAILURE=1
          154  +EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
          155  +EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
          156  +
          157  +exit_status=$EXIT_SUCCESS
          158  +
          159  +# Make sure IFS has a sensible default
          160  +lt_nl='
          161  +'
          162  +IFS=" 	$lt_nl"
          163  +
          164  +dirname="s,/[^/]*$,,"
          165  +basename="s,^.*/,,"
          166  +
          167  +# func_dirname file append nondir_replacement
          168  +# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
          169  +# otherwise set result to NONDIR_REPLACEMENT.
          170  +func_dirname ()
          171  +{
          172  +    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
          173  +    if test "X$func_dirname_result" = "X${1}"; then
          174  +      func_dirname_result="${3}"
          175  +    else
          176  +      func_dirname_result="$func_dirname_result${2}"
          177  +    fi
          178  +} # func_dirname may be replaced by extended shell implementation
          179  +
          180  +
          181  +# func_basename file
          182  +func_basename ()
          183  +{
          184  +    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
          185  +} # func_basename may be replaced by extended shell implementation
          186  +
          187  +
          188  +# func_dirname_and_basename file append nondir_replacement
          189  +# perform func_basename and func_dirname in a single function
          190  +# call:
          191  +#   dirname:  Compute the dirname of FILE.  If nonempty,
          192  +#             add APPEND to the result, otherwise set result
          193  +#             to NONDIR_REPLACEMENT.
          194  +#             value returned in "$func_dirname_result"
          195  +#   basename: Compute filename of FILE.
          196  +#             value retuned in "$func_basename_result"
          197  +# Implementation must be kept synchronized with func_dirname
          198  +# and func_basename. For efficiency, we do not delegate to
          199  +# those functions but instead duplicate the functionality here.
          200  +func_dirname_and_basename ()
          201  +{
          202  +    # Extract subdirectory from the argument.
          203  +    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
          204  +    if test "X$func_dirname_result" = "X${1}"; then
          205  +      func_dirname_result="${3}"
          206  +    else
          207  +      func_dirname_result="$func_dirname_result${2}"
          208  +    fi
          209  +    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
          210  +} # func_dirname_and_basename may be replaced by extended shell implementation
          211  +
          212  +
          213  +# func_stripname prefix suffix name
          214  +# strip PREFIX and SUFFIX off of NAME.
          215  +# PREFIX and SUFFIX must not contain globbing or regex special
          216  +# characters, hashes, percent signs, but SUFFIX may contain a leading
          217  +# dot (in which case that matches only a dot).
          218  +# func_strip_suffix prefix name
          219  +func_stripname ()
          220  +{
          221  +    case ${2} in
          222  +      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
          223  +      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
          224  +    esac
          225  +} # func_stripname may be replaced by extended shell implementation
          226  +
          227  +
          228  +# These SED scripts presuppose an absolute path with a trailing slash.
          229  +pathcar='s,^/\([^/]*\).*$,\1,'
          230  +pathcdr='s,^/[^/]*,,'
          231  +removedotparts=':dotsl
          232  +		s@/\./@/@g
          233  +		t dotsl
          234  +		s,/\.$,/,'
          235  +collapseslashes='s@/\{1,\}@/@g'
          236  +finalslash='s,/*$,/,'
          237  +
          238  +# func_normal_abspath PATH
          239  +# Remove doubled-up and trailing slashes, "." path components,
          240  +# and cancel out any ".." path components in PATH after making
          241  +# it an absolute path.
          242  +#             value returned in "$func_normal_abspath_result"
          243  +func_normal_abspath ()
          244  +{
          245  +  # Start from root dir and reassemble the path.
          246  +  func_normal_abspath_result=
          247  +  func_normal_abspath_tpath=$1
          248  +  func_normal_abspath_altnamespace=
          249  +  case $func_normal_abspath_tpath in
          250  +    "")
          251  +      # Empty path, that just means $cwd.
          252  +      func_stripname '' '/' "`pwd`"
          253  +      func_normal_abspath_result=$func_stripname_result
          254  +      return
          255  +    ;;
          256  +    # The next three entries are used to spot a run of precisely
          257  +    # two leading slashes without using negated character classes;
          258  +    # we take advantage of case's first-match behaviour.
          259  +    ///*)
          260  +      # Unusual form of absolute path, do nothing.
          261  +    ;;
          262  +    //*)
          263  +      # Not necessarily an ordinary path; POSIX reserves leading '//'
          264  +      # and for example Cygwin uses it to access remote file shares
          265  +      # over CIFS/SMB, so we conserve a leading double slash if found.
          266  +      func_normal_abspath_altnamespace=/
          267  +    ;;
          268  +    /*)
          269  +      # Absolute path, do nothing.
          270  +    ;;
          271  +    *)
          272  +      # Relative path, prepend $cwd.
          273  +      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
          274  +    ;;
          275  +  esac
          276  +  # Cancel out all the simple stuff to save iterations.  We also want
          277  +  # the path to end with a slash for ease of parsing, so make sure
          278  +  # there is one (and only one) here.
          279  +  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
          280  +        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
          281  +  while :; do
          282  +    # Processed it all yet?
          283  +    if test "$func_normal_abspath_tpath" = / ; then
          284  +      # If we ascended to the root using ".." the result may be empty now.
          285  +      if test -z "$func_normal_abspath_result" ; then
          286  +        func_normal_abspath_result=/
          287  +      fi
          288  +      break
          289  +    fi
          290  +    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
          291  +        -e "$pathcar"`
          292  +    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
          293  +        -e "$pathcdr"`
          294  +    # Figure out what to do with it
          295  +    case $func_normal_abspath_tcomponent in
          296  +      "")
          297  +        # Trailing empty path component, ignore it.
          298  +      ;;
          299  +      ..)
          300  +        # Parent dir; strip last assembled component from result.
          301  +        func_dirname "$func_normal_abspath_result"
          302  +        func_normal_abspath_result=$func_dirname_result
          303  +      ;;
          304  +      *)
          305  +        # Actual path component, append it.
          306  +        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
          307  +      ;;
          308  +    esac
          309  +  done
          310  +  # Restore leading double-slash if one was found on entry.
          311  +  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
          312  +}
          313  +
          314  +# func_relative_path SRCDIR DSTDIR
          315  +# generates a relative path from SRCDIR to DSTDIR, with a trailing
          316  +# slash if non-empty, suitable for immediately appending a filename
          317  +# without needing to append a separator.
          318  +#             value returned in "$func_relative_path_result"
          319  +func_relative_path ()
          320  +{
          321  +  func_relative_path_result=
          322  +  func_normal_abspath "$1"
          323  +  func_relative_path_tlibdir=$func_normal_abspath_result
          324  +  func_normal_abspath "$2"
          325  +  func_relative_path_tbindir=$func_normal_abspath_result
          326  +
          327  +  # Ascend the tree starting from libdir
          328  +  while :; do
          329  +    # check if we have found a prefix of bindir
          330  +    case $func_relative_path_tbindir in
          331  +      $func_relative_path_tlibdir)
          332  +        # found an exact match
          333  +        func_relative_path_tcancelled=
          334  +        break
          335  +        ;;
          336  +      $func_relative_path_tlibdir*)
          337  +        # found a matching prefix
          338  +        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
          339  +        func_relative_path_tcancelled=$func_stripname_result
          340  +        if test -z "$func_relative_path_result"; then
          341  +          func_relative_path_result=.
          342  +        fi
          343  +        break
          344  +        ;;
          345  +      *)
          346  +        func_dirname $func_relative_path_tlibdir
          347  +        func_relative_path_tlibdir=${func_dirname_result}
          348  +        if test "x$func_relative_path_tlibdir" = x ; then
          349  +          # Have to descend all the way to the root!
          350  +          func_relative_path_result=../$func_relative_path_result
          351  +          func_relative_path_tcancelled=$func_relative_path_tbindir
          352  +          break
          353  +        fi
          354  +        func_relative_path_result=../$func_relative_path_result
          355  +        ;;
          356  +    esac
          357  +  done
          358  +
          359  +  # Now calculate path; take care to avoid doubling-up slashes.
          360  +  func_stripname '' '/' "$func_relative_path_result"
          361  +  func_relative_path_result=$func_stripname_result
          362  +  func_stripname '/' '/' "$func_relative_path_tcancelled"
          363  +  if test "x$func_stripname_result" != x ; then
          364  +    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
          365  +  fi
          366  +
          367  +  # Normalisation. If bindir is libdir, return empty string,
          368  +  # else relative path ending with a slash; either way, target
          369  +  # file name can be directly appended.
          370  +  if test ! -z "$func_relative_path_result"; then
          371  +    func_stripname './' '' "$func_relative_path_result/"
          372  +    func_relative_path_result=$func_stripname_result
          373  +  fi
          374  +}
          375  +
          376  +# The name of this program:
          377  +func_dirname_and_basename "$progpath"
          378  +progname=$func_basename_result
          379  +
          380  +# Make sure we have an absolute path for reexecution:
          381  +case $progpath in
          382  +  [\\/]*|[A-Za-z]:\\*) ;;
          383  +  *[\\/]*)
          384  +     progdir=$func_dirname_result
          385  +     progdir=`cd "$progdir" && pwd`
          386  +     progpath="$progdir/$progname"
          387  +     ;;
          388  +  *)
          389  +     save_IFS="$IFS"
          390  +     IFS=:
          391  +     for progdir in $PATH; do
          392  +       IFS="$save_IFS"
          393  +       test -x "$progdir/$progname" && break
          394  +     done
          395  +     IFS="$save_IFS"
          396  +     test -n "$progdir" || progdir=`pwd`
          397  +     progpath="$progdir/$progname"
          398  +     ;;
          399  +esac
          400  +
          401  +# Sed substitution that helps us do robust quoting.  It backslashifies
          402  +# metacharacters that are still active within double-quoted strings.
          403  +Xsed="${SED}"' -e 1s/^X//'
          404  +sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
          405  +
          406  +# Same as above, but do not quote variable references.
          407  +double_quote_subst='s/\(["`\\]\)/\\\1/g'
          408  +
          409  +# Sed substitution that turns a string into a regex matching for the
          410  +# string literally.
          411  +sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
          412  +
          413  +# Sed substitution that converts a w32 file name or path
          414  +# which contains forward slashes, into one that contains
          415  +# (escaped) backslashes.  A very naive implementation.
          416  +lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
          417  +
          418  +# Re-`\' parameter expansions in output of double_quote_subst that were
          419  +# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
          420  +# in input to double_quote_subst, that '$' was protected from expansion.
          421  +# Since each input `\' is now two `\'s, look for any number of runs of
          422  +# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
          423  +bs='\\'
          424  +bs2='\\\\'
          425  +bs4='\\\\\\\\'
          426  +dollar='\$'
          427  +sed_double_backslash="\
          428  +  s/$bs4/&\\
          429  +/g
          430  +  s/^$bs2$dollar/$bs&/
          431  +  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
          432  +  s/\n//g"
          433  +
          434  +# Standard options:
          435  +opt_dry_run=false
          436  +opt_help=false
          437  +opt_quiet=false
          438  +opt_verbose=false
          439  +opt_warning=:
          440  +
          441  +# func_echo arg...
          442  +# Echo program name prefixed message, along with the current mode
          443  +# name if it has been set yet.
          444  +func_echo ()
          445  +{
          446  +    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
          447  +}
          448  +
          449  +# func_verbose arg...
          450  +# Echo program name prefixed message in verbose mode only.
          451  +func_verbose ()
          452  +{
          453  +    $opt_verbose && func_echo ${1+"$@"}
          454  +
          455  +    # A bug in bash halts the script if the last line of a function
          456  +    # fails when set -e is in force, so we need another command to
          457  +    # work around that:
          458  +    :
          459  +}
          460  +
          461  +# func_echo_all arg...
          462  +# Invoke $ECHO with all args, space-separated.
          463  +func_echo_all ()
          464  +{
          465  +    $ECHO "$*"
          466  +}
          467  +
          468  +# func_error arg...
          469  +# Echo program name prefixed message to standard error.
          470  +func_error ()
          471  +{
          472  +    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
          473  +}
          474  +
          475  +# func_warning arg...
          476  +# Echo program name prefixed warning message to standard error.
          477  +func_warning ()
          478  +{
          479  +    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
          480  +
          481  +    # bash bug again:
          482  +    :
          483  +}
          484  +
          485  +# func_fatal_error arg...
          486  +# Echo program name prefixed message to standard error, and exit.
          487  +func_fatal_error ()
          488  +{
          489  +    func_error ${1+"$@"}
          490  +    exit $EXIT_FAILURE
          491  +}
          492  +
          493  +# func_fatal_help arg...
          494  +# Echo program name prefixed message to standard error, followed by
          495  +# a help hint, and exit.
          496  +func_fatal_help ()
          497  +{
          498  +    func_error ${1+"$@"}
          499  +    func_fatal_error "$help"
          500  +}
          501  +help="Try \`$progname --help' for more information."  ## default
          502  +
          503  +
          504  +# func_grep expression filename
          505  +# Check whether EXPRESSION matches any line of FILENAME, without output.
          506  +func_grep ()
          507  +{
          508  +    $GREP "$1" "$2" >/dev/null 2>&1
          509  +}
          510  +
          511  +
          512  +# func_mkdir_p directory-path
          513  +# Make sure the entire path to DIRECTORY-PATH is available.
          514  +func_mkdir_p ()
          515  +{
          516  +    my_directory_path="$1"
          517  +    my_dir_list=
          518  +
          519  +    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
          520  +
          521  +      # Protect directory names starting with `-'
          522  +      case $my_directory_path in
          523  +        -*) my_directory_path="./$my_directory_path" ;;
          524  +      esac
          525  +
          526  +      # While some portion of DIR does not yet exist...
          527  +      while test ! -d "$my_directory_path"; do
          528  +        # ...make a list in topmost first order.  Use a colon delimited
          529  +	# list incase some portion of path contains whitespace.
          530  +        my_dir_list="$my_directory_path:$my_dir_list"
          531  +
          532  +        # If the last portion added has no slash in it, the list is done
          533  +        case $my_directory_path in */*) ;; *) break ;; esac
          534  +
          535  +        # ...otherwise throw away the child directory and loop
          536  +        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
          537  +      done
          538  +      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
          539  +
          540  +      save_mkdir_p_IFS="$IFS"; IFS=':'
          541  +      for my_dir in $my_dir_list; do
          542  +	IFS="$save_mkdir_p_IFS"
          543  +        # mkdir can fail with a `File exist' error if two processes
          544  +        # try to create one of the directories concurrently.  Don't
          545  +        # stop in that case!
          546  +        $MKDIR "$my_dir" 2>/dev/null || :
          547  +      done
          548  +      IFS="$save_mkdir_p_IFS"
          549  +
          550  +      # Bail out if we (or some other process) failed to create a directory.
          551  +      test -d "$my_directory_path" || \
          552  +        func_fatal_error "Failed to create \`$1'"
          553  +    fi
          554  +}
          555  +
          556  +
          557  +# func_mktempdir [string]
          558  +# Make a temporary directory that won't clash with other running
          559  +# libtool processes, and avoids race conditions if possible.  If
          560  +# given, STRING is the basename for that directory.
          561  +func_mktempdir ()
          562  +{
          563  +    my_template="${TMPDIR-/tmp}/${1-$progname}"
          564  +
          565  +    if test "$opt_dry_run" = ":"; then
          566  +      # Return a directory name, but don't create it in dry-run mode
          567  +      my_tmpdir="${my_template}-$$"
          568  +    else
          569  +
          570  +      # If mktemp works, use that first and foremost
          571  +      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
          572  +
          573  +      if test ! -d "$my_tmpdir"; then
          574  +        # Failing that, at least try and use $RANDOM to avoid a race
          575  +        my_tmpdir="${my_template}-${RANDOM-0}$$"
          576  +
          577  +        save_mktempdir_umask=`umask`
          578  +        umask 0077
          579  +        $MKDIR "$my_tmpdir"
          580  +        umask $save_mktempdir_umask
          581  +      fi
          582  +
          583  +      # If we're not in dry-run mode, bomb out on failure
          584  +      test -d "$my_tmpdir" || \
          585  +        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
          586  +    fi
          587  +
          588  +    $ECHO "$my_tmpdir"
          589  +}
          590  +
          591  +
          592  +# func_quote_for_eval arg
          593  +# Aesthetically quote ARG to be evaled later.
          594  +# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
          595  +# is double-quoted, suitable for a subsequent eval, whereas
          596  +# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
          597  +# which are still active within double quotes backslashified.
          598  +func_quote_for_eval ()
          599  +{
          600  +    case $1 in
          601  +      *[\\\`\"\$]*)
          602  +	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
          603  +      *)
          604  +        func_quote_for_eval_unquoted_result="$1" ;;
          605  +    esac
          606  +
          607  +    case $func_quote_for_eval_unquoted_result in
          608  +      # Double-quote args containing shell metacharacters to delay
          609  +      # word splitting, command substitution and and variable
          610  +      # expansion for a subsequent eval.
          611  +      # Many Bourne shells cannot handle close brackets correctly
          612  +      # in scan sets, so we specify it separately.
          613  +      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
          614  +        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
          615  +        ;;
          616  +      *)
          617  +        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
          618  +    esac
          619  +}
          620  +
          621  +
          622  +# func_quote_for_expand arg
          623  +# Aesthetically quote ARG to be evaled later; same as above,
          624  +# but do not quote variable references.
          625  +func_quote_for_expand ()
          626  +{
          627  +    case $1 in
          628  +      *[\\\`\"]*)
          629  +	my_arg=`$ECHO "$1" | $SED \
          630  +	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
          631  +      *)
          632  +        my_arg="$1" ;;
          633  +    esac
          634  +
          635  +    case $my_arg in
          636  +      # Double-quote args containing shell metacharacters to delay
          637  +      # word splitting and command substitution for a subsequent eval.
          638  +      # Many Bourne shells cannot handle close brackets correctly
          639  +      # in scan sets, so we specify it separately.
          640  +      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
          641  +        my_arg="\"$my_arg\""
          642  +        ;;
          643  +    esac
          644  +
          645  +    func_quote_for_expand_result="$my_arg"
          646  +}
          647  +
          648  +
          649  +# func_show_eval cmd [fail_exp]
          650  +# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
          651  +# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
          652  +# is given, then evaluate it.
          653  +func_show_eval ()
          654  +{
          655  +    my_cmd="$1"
          656  +    my_fail_exp="${2-:}"
          657  +
          658  +    ${opt_silent-false} || {
          659  +      func_quote_for_expand "$my_cmd"
          660  +      eval "func_echo $func_quote_for_expand_result"
          661  +    }
          662  +
          663  +    if ${opt_dry_run-false}; then :; else
          664  +      eval "$my_cmd"
          665  +      my_status=$?
          666  +      if test "$my_status" -eq 0; then :; else
          667  +	eval "(exit $my_status); $my_fail_exp"
          668  +      fi
          669  +    fi
          670  +}
          671  +
          672  +
          673  +# func_show_eval_locale cmd [fail_exp]
          674  +# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
          675  +# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
          676  +# is given, then evaluate it.  Use the saved locale for evaluation.
          677  +func_show_eval_locale ()
          678  +{
          679  +    my_cmd="$1"
          680  +    my_fail_exp="${2-:}"
          681  +
          682  +    ${opt_silent-false} || {
          683  +      func_quote_for_expand "$my_cmd"
          684  +      eval "func_echo $func_quote_for_expand_result"
          685  +    }
          686  +
          687  +    if ${opt_dry_run-false}; then :; else
          688  +      eval "$lt_user_locale
          689  +	    $my_cmd"
          690  +      my_status=$?
          691  +      eval "$lt_safe_locale"
          692  +      if test "$my_status" -eq 0; then :; else
          693  +	eval "(exit $my_status); $my_fail_exp"
          694  +      fi
          695  +    fi
          696  +}
          697  +
          698  +# func_tr_sh
          699  +# Turn $1 into a string suitable for a shell variable name.
          700  +# Result is stored in $func_tr_sh_result.  All characters
          701  +# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
          702  +# if $1 begins with a digit, a '_' is prepended as well.
          703  +func_tr_sh ()
          704  +{
          705  +  case $1 in
          706  +  [0-9]* | *[!a-zA-Z0-9_]*)
          707  +    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
          708  +    ;;
          709  +  * )
          710  +    func_tr_sh_result=$1
          711  +    ;;
          712  +  esac
          713  +}
          714  +
          715  +
          716  +# func_version
          717  +# Echo version message to standard output and exit.
          718  +func_version ()
          719  +{
          720  +    $opt_debug
          721  +
          722  +    $SED -n '/(C)/!b go
          723  +	:more
          724  +	/\./!{
          725  +	  N
          726  +	  s/\n# / /
          727  +	  b more
          728  +	}
          729  +	:go
          730  +	/^# '$PROGRAM' (GNU /,/# warranty; / {
          731  +        s/^# //
          732  +	s/^# *$//
          733  +        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
          734  +        p
          735  +     }' < "$progpath"
          736  +     exit $?
          737  +}
          738  +
          739  +# func_usage
          740  +# Echo short help message to standard output and exit.
          741  +func_usage ()
          742  +{
          743  +    $opt_debug
          744  +
          745  +    $SED -n '/^# Usage:/,/^#  *.*--help/ {
          746  +        s/^# //
          747  +	s/^# *$//
          748  +	s/\$progname/'$progname'/
          749  +	p
          750  +    }' < "$progpath"
          751  +    echo
          752  +    $ECHO "run \`$progname --help | more' for full usage"
          753  +    exit $?
          754  +}
          755  +
          756  +# func_help [NOEXIT]
          757  +# Echo long help message to standard output and exit,
          758  +# unless 'noexit' is passed as argument.
          759  +func_help ()
          760  +{
          761  +    $opt_debug
          762  +
          763  +    $SED -n '/^# Usage:/,/# Report bugs to/ {
          764  +	:print
          765  +        s/^# //
          766  +	s/^# *$//
          767  +	s*\$progname*'$progname'*
          768  +	s*\$host*'"$host"'*
          769  +	s*\$SHELL*'"$SHELL"'*
          770  +	s*\$LTCC*'"$LTCC"'*
          771  +	s*\$LTCFLAGS*'"$LTCFLAGS"'*
          772  +	s*\$LD*'"$LD"'*
          773  +	s/\$with_gnu_ld/'"$with_gnu_ld"'/
          774  +	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
          775  +	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
          776  +	p
          777  +	d
          778  +     }
          779  +     /^# .* home page:/b print
          780  +     /^# General help using/b print
          781  +     ' < "$progpath"
          782  +    ret=$?
          783  +    if test -z "$1"; then
          784  +      exit $ret
          785  +    fi
          786  +}
          787  +
          788  +# func_missing_arg argname
          789  +# Echo program name prefixed message to standard error and set global
          790  +# exit_cmd.
          791  +func_missing_arg ()
          792  +{
          793  +    $opt_debug
          794  +
          795  +    func_error "missing argument for $1."
          796  +    exit_cmd=exit
          797  +}
          798  +
          799  +
          800  +# func_split_short_opt shortopt
          801  +# Set func_split_short_opt_name and func_split_short_opt_arg shell
          802  +# variables after splitting SHORTOPT after the 2nd character.
          803  +func_split_short_opt ()
          804  +{
          805  +    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
          806  +    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
          807  +
          808  +    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
          809  +    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
          810  +} # func_split_short_opt may be replaced by extended shell implementation
          811  +
          812  +
          813  +# func_split_long_opt longopt
          814  +# Set func_split_long_opt_name and func_split_long_opt_arg shell
          815  +# variables after splitting LONGOPT at the `=' sign.
          816  +func_split_long_opt ()
          817  +{
          818  +    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
          819  +    my_sed_long_arg='1s/^--[^=]*=//'
          820  +
          821  +    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
          822  +    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
          823  +} # func_split_long_opt may be replaced by extended shell implementation
          824  +
          825  +exit_cmd=:
          826  +
          827  +
          828  +
          829  +
          830  +
          831  +magic="%%%MAGIC variable%%%"
          832  +magic_exe="%%%MAGIC EXE variable%%%"
          833  +
          834  +# Global variables.
          835  +nonopt=
          836  +preserve_args=
          837  +lo2o="s/\\.lo\$/.${objext}/"
          838  +o2lo="s/\\.${objext}\$/.lo/"
          839  +extracted_archives=
          840  +extracted_serial=0
          841  +
          842  +# If this variable is set in any of the actions, the command in it
          843  +# will be execed at the end.  This prevents here-documents from being
          844  +# left over by shells.
          845  +exec_cmd=
          846  +
          847  +# func_append var value
          848  +# Append VALUE to the end of shell variable VAR.
          849  +func_append ()
          850  +{
          851  +    eval "${1}=\$${1}\${2}"
          852  +} # func_append may be replaced by extended shell implementation
          853  +
          854  +# func_append_quoted var value
          855  +# Quote VALUE and append to the end of shell variable VAR, separated
          856  +# by a space.
          857  +func_append_quoted ()
          858  +{
          859  +    func_quote_for_eval "${2}"
          860  +    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
          861  +} # func_append_quoted may be replaced by extended shell implementation
          862  +
          863  +
          864  +# func_arith arithmetic-term...
          865  +func_arith ()
          866  +{
          867  +    func_arith_result=`expr "${@}"`
          868  +} # func_arith may be replaced by extended shell implementation
          869  +
          870  +
          871  +# func_len string
          872  +# STRING may not start with a hyphen.
          873  +func_len ()
          874  +{
          875  +    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
          876  +} # func_len may be replaced by extended shell implementation
          877  +
          878  +
          879  +# func_lo2o object
          880  +func_lo2o ()
          881  +{
          882  +    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
          883  +} # func_lo2o may be replaced by extended shell implementation
          884  +
          885  +
          886  +# func_xform libobj-or-source
          887  +func_xform ()
          888  +{
          889  +    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
          890  +} # func_xform may be replaced by extended shell implementation
          891  +
          892  +
          893  +# func_fatal_configuration arg...
          894  +# Echo program name prefixed message to standard error, followed by
          895  +# a configuration failure hint, and exit.
          896  +func_fatal_configuration ()
          897  +{
          898  +    func_error ${1+"$@"}
          899  +    func_error "See the $PACKAGE documentation for more information."
          900  +    func_fatal_error "Fatal configuration error."
          901  +}
          902  +
          903  +
          904  +# func_config
          905  +# Display the configuration for all the tags in this script.
          906  +func_config ()
          907  +{
          908  +    re_begincf='^# ### BEGIN LIBTOOL'
          909  +    re_endcf='^# ### END LIBTOOL'
          910  +
          911  +    # Default configuration.
          912  +    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
          913  +
          914  +    # Now print the configurations for the tags.
          915  +    for tagname in $taglist; do
          916  +      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
          917  +    done
          918  +
          919  +    exit $?
          920  +}
          921  +
          922  +# func_features
          923  +# Display the features supported by this script.
          924  +func_features ()
          925  +{
          926  +    echo "host: $host"
          927  +    if test "$build_libtool_libs" = yes; then
          928  +      echo "enable shared libraries"
          929  +    else
          930  +      echo "disable shared libraries"
          931  +    fi
          932  +    if test "$build_old_libs" = yes; then
          933  +      echo "enable static libraries"
          934  +    else
          935  +      echo "disable static libraries"
          936  +    fi
          937  +
          938  +    exit $?
          939  +}
          940  +
          941  +# func_enable_tag tagname
          942  +# Verify that TAGNAME is valid, and either flag an error and exit, or
          943  +# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
          944  +# variable here.
          945  +func_enable_tag ()
          946  +{
          947  +  # Global variable:
          948  +  tagname="$1"
          949  +
          950  +  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
          951  +  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
          952  +  sed_extractcf="/$re_begincf/,/$re_endcf/p"
          953  +
          954  +  # Validate tagname.
          955  +  case $tagname in
          956  +    *[!-_A-Za-z0-9,/]*)
          957  +      func_fatal_error "invalid tag name: $tagname"
          958  +      ;;
          959  +  esac
          960  +
          961  +  # Don't test for the "default" C tag, as we know it's
          962  +  # there but not specially marked.
          963  +  case $tagname in
          964  +    CC) ;;
          965  +    *)
          966  +      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
          967  +	taglist="$taglist $tagname"
          968  +
          969  +	# Evaluate the configuration.  Be careful to quote the path
          970  +	# and the sed script, to avoid splitting on whitespace, but
          971  +	# also don't use non-portable quotes within backquotes within
          972  +	# quotes we have to do it in 2 steps:
          973  +	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
          974  +	eval "$extractedcf"
          975  +      else
          976  +	func_error "ignoring unknown tag $tagname"
          977  +      fi
          978  +      ;;
          979  +  esac
          980  +}
          981  +
          982  +# func_check_version_match
          983  +# Ensure that we are using m4 macros, and libtool script from the same
          984  +# release of libtool.
          985  +func_check_version_match ()
          986  +{
          987  +  if test "$package_revision" != "$macro_revision"; then
          988  +    if test "$VERSION" != "$macro_version"; then
          989  +      if test -z "$macro_version"; then
          990  +        cat >&2 <<_LT_EOF
          991  +$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
          992  +$progname: definition of this LT_INIT comes from an older release.
          993  +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
          994  +$progname: and run autoconf again.
          995  +_LT_EOF
          996  +      else
          997  +        cat >&2 <<_LT_EOF
          998  +$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
          999  +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
         1000  +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
         1001  +$progname: and run autoconf again.
         1002  +_LT_EOF
         1003  +      fi
         1004  +    else
         1005  +      cat >&2 <<_LT_EOF
         1006  +$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
         1007  +$progname: but the definition of this LT_INIT comes from revision $macro_revision.
         1008  +$progname: You should recreate aclocal.m4 with macros from revision $package_revision
         1009  +$progname: of $PACKAGE $VERSION and run autoconf again.
         1010  +_LT_EOF
         1011  +    fi
         1012  +
         1013  +    exit $EXIT_MISMATCH
         1014  +  fi
         1015  +}
         1016  +
         1017  +
         1018  +# Shorthand for --mode=foo, only valid as the first argument
         1019  +case $1 in
         1020  +clean|clea|cle|cl)
         1021  +  shift; set dummy --mode clean ${1+"$@"}; shift
         1022  +  ;;
         1023  +compile|compil|compi|comp|com|co|c)
         1024  +  shift; set dummy --mode compile ${1+"$@"}; shift
         1025  +  ;;
         1026  +execute|execut|execu|exec|exe|ex|e)
         1027  +  shift; set dummy --mode execute ${1+"$@"}; shift
         1028  +  ;;
         1029  +finish|finis|fini|fin|fi|f)
         1030  +  shift; set dummy --mode finish ${1+"$@"}; shift
         1031  +  ;;
         1032  +install|instal|insta|inst|ins|in|i)
         1033  +  shift; set dummy --mode install ${1+"$@"}; shift
         1034  +  ;;
         1035  +link|lin|li|l)
         1036  +  shift; set dummy --mode link ${1+"$@"}; shift
         1037  +  ;;
         1038  +uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
         1039  +  shift; set dummy --mode uninstall ${1+"$@"}; shift
         1040  +  ;;
         1041  +esac
         1042  +
         1043  +
         1044  +
         1045  +# Option defaults:
         1046  +opt_debug=:
         1047  +opt_dry_run=false
         1048  +opt_config=false
         1049  +opt_preserve_dup_deps=false
         1050  +opt_features=false
         1051  +opt_finish=false
         1052  +opt_help=false
         1053  +opt_help_all=false
         1054  +opt_silent=:
         1055  +opt_verbose=:
         1056  +opt_silent=false
         1057  +opt_verbose=false
         1058  +
         1059  +
         1060  +# Parse options once, thoroughly.  This comes as soon as possible in the
         1061  +# script to make things like `--version' happen as quickly as we can.
         1062  +{
         1063  +  # this just eases exit handling
         1064  +  while test $# -gt 0; do
         1065  +    opt="$1"
         1066  +    shift
         1067  +    case $opt in
         1068  +      --debug|-x)	opt_debug='set -x'
         1069  +			func_echo "enabling shell trace mode"
         1070  +			$opt_debug
         1071  +			;;
         1072  +      --dry-run|--dryrun|-n)
         1073  +			opt_dry_run=:
         1074  +			;;
         1075  +      --config)
         1076  +			opt_config=:
         1077  +func_config
         1078  +			;;
         1079  +      --dlopen|-dlopen)
         1080  +			optarg="$1"
         1081  +			opt_dlopen="${opt_dlopen+$opt_dlopen
         1082  +}$optarg"
         1083  +			shift
         1084  +			;;
         1085  +      --preserve-dup-deps)
         1086  +			opt_preserve_dup_deps=:
         1087  +			;;
         1088  +      --features)
         1089  +			opt_features=:
         1090  +func_features
         1091  +			;;
         1092  +      --finish)
         1093  +			opt_finish=:
         1094  +set dummy --mode finish ${1+"$@"}; shift
         1095  +			;;
         1096  +      --help)
         1097  +			opt_help=:
         1098  +			;;
         1099  +      --help-all)
         1100  +			opt_help_all=:
         1101  +opt_help=': help-all'
         1102  +			;;
         1103  +      --mode)
         1104  +			test $# = 0 && func_missing_arg $opt && break
         1105  +			optarg="$1"
         1106  +			opt_mode="$optarg"
         1107  +case $optarg in
         1108  +  # Valid mode arguments:
         1109  +  clean|compile|execute|finish|install|link|relink|uninstall) ;;
         1110  +
         1111  +  # Catch anything else as an error
         1112  +  *) func_error "invalid argument for $opt"
         1113  +     exit_cmd=exit
         1114  +     break
         1115  +     ;;
         1116  +esac
         1117  +			shift
         1118  +			;;
         1119  +      --no-silent|--no-quiet)
         1120  +			opt_silent=false
         1121  +func_append preserve_args " $opt"
         1122  +			;;
         1123  +      --no-verbose)
         1124  +			opt_verbose=false
         1125  +func_append preserve_args " $opt"
         1126  +			;;
         1127  +      --silent|--quiet)
         1128  +			opt_silent=:
         1129  +func_append preserve_args " $opt"
         1130  +        opt_verbose=false
         1131  +			;;
         1132  +      --verbose|-v)
         1133  +			opt_verbose=:
         1134  +func_append preserve_args " $opt"
         1135  +opt_silent=false
         1136  +			;;
         1137  +      --tag)
         1138  +			test $# = 0 && func_missing_arg $opt && break
         1139  +			optarg="$1"
         1140  +			opt_tag="$optarg"
         1141  +func_append preserve_args " $opt $optarg"
         1142  +func_enable_tag "$optarg"
         1143  +			shift
         1144  +			;;
         1145  +
         1146  +      -\?|-h)		func_usage				;;
         1147  +      --help)		func_help				;;
         1148  +      --version)	func_version				;;
         1149  +
         1150  +      # Separate optargs to long options:
         1151  +      --*=*)
         1152  +			func_split_long_opt "$opt"
         1153  +			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
         1154  +			shift
         1155  +			;;
         1156  +
         1157  +      # Separate non-argument short options:
         1158  +      -\?*|-h*|-n*|-v*)
         1159  +			func_split_short_opt "$opt"
         1160  +			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
         1161  +			shift
         1162  +			;;
         1163  +
         1164  +      --)		break					;;
         1165  +      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
         1166  +      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
         1167  +    esac
         1168  +  done
         1169  +
         1170  +  # Validate options:
         1171  +
         1172  +  # save first non-option argument
         1173  +  if test "$#" -gt 0; then
         1174  +    nonopt="$opt"
         1175  +    shift
         1176  +  fi
         1177  +
         1178  +  # preserve --debug
         1179  +  test "$opt_debug" = : || func_append preserve_args " --debug"
         1180  +
         1181  +  case $host in
         1182  +    *cygwin* | *mingw* | *pw32* | *cegcc*)
         1183  +      # don't eliminate duplications in $postdeps and $predeps
         1184  +      opt_duplicate_compiler_generated_deps=:
         1185  +      ;;
         1186  +    *)
         1187  +      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
         1188  +      ;;
         1189  +  esac
         1190  +
         1191  +  $opt_help || {
         1192  +    # Sanity checks first:
         1193  +    func_check_version_match
         1194  +
         1195  +    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
         1196  +      func_fatal_configuration "not configured to build any kind of library"
         1197  +    fi
         1198  +
         1199  +    # Darwin sucks
         1200  +    eval std_shrext=\"$shrext_cmds\"
         1201  +
         1202  +    # Only execute mode is allowed to have -dlopen flags.
         1203  +    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
         1204  +      func_error "unrecognized option \`-dlopen'"
         1205  +      $ECHO "$help" 1>&2
         1206  +      exit $EXIT_FAILURE
         1207  +    fi
         1208  +
         1209  +    # Change the help message to a mode-specific one.
         1210  +    generic_help="$help"
         1211  +    help="Try \`$progname --help --mode=$opt_mode' for more information."
         1212  +  }
         1213  +
         1214  +
         1215  +  # Bail if the options were screwed
         1216  +  $exit_cmd $EXIT_FAILURE
         1217  +}
         1218  +
         1219  +
         1220  +
         1221  +
         1222  +## ----------- ##
         1223  +##    Main.    ##
         1224  +## ----------- ##
         1225  +
         1226  +# func_lalib_p file
         1227  +# True iff FILE is a libtool `.la' library or `.lo' object file.
         1228  +# This function is only a basic sanity check; it will hardly flush out
         1229  +# determined imposters.
         1230  +func_lalib_p ()
         1231  +{
         1232  +    test -f "$1" &&
         1233  +      $SED -e 4q "$1" 2>/dev/null \
         1234  +        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
         1235  +}
         1236  +
         1237  +# func_lalib_unsafe_p file
         1238  +# True iff FILE is a libtool `.la' library or `.lo' object file.
         1239  +# This function implements the same check as func_lalib_p without
         1240  +# resorting to external programs.  To this end, it redirects stdin and
         1241  +# closes it afterwards, without saving the original file descriptor.
         1242  +# As a safety measure, use it only where a negative result would be
         1243  +# fatal anyway.  Works if `file' does not exist.
         1244  +func_lalib_unsafe_p ()
         1245  +{
         1246  +    lalib_p=no
         1247  +    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
         1248  +	for lalib_p_l in 1 2 3 4
         1249  +	do
         1250  +	    read lalib_p_line
         1251  +	    case "$lalib_p_line" in
         1252  +		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
         1253  +	    esac
         1254  +	done
         1255  +	exec 0<&5 5<&-
         1256  +    fi
         1257  +    test "$lalib_p" = yes
         1258  +}
         1259  +
         1260  +# func_ltwrapper_script_p file
         1261  +# True iff FILE is a libtool wrapper script
         1262  +# This function is only a basic sanity check; it will hardly flush out
         1263  +# determined imposters.
         1264  +func_ltwrapper_script_p ()
         1265  +{
         1266  +    func_lalib_p "$1"
         1267  +}
         1268  +
         1269  +# func_ltwrapper_executable_p file
         1270  +# True iff FILE is a libtool wrapper executable
         1271  +# This function is only a basic sanity check; it will hardly flush out
         1272  +# determined imposters.
         1273  +func_ltwrapper_executable_p ()
         1274  +{
         1275  +    func_ltwrapper_exec_suffix=
         1276  +    case $1 in
         1277  +    *.exe) ;;
         1278  +    *) func_ltwrapper_exec_suffix=.exe ;;
         1279  +    esac
         1280  +    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
         1281  +}
         1282  +
         1283  +# func_ltwrapper_scriptname file
         1284  +# Assumes file is an ltwrapper_executable
         1285  +# uses $file to determine the appropriate filename for a
         1286  +# temporary ltwrapper_script.
         1287  +func_ltwrapper_scriptname ()
         1288  +{
         1289  +    func_dirname_and_basename "$1" "" "."
         1290  +    func_stripname '' '.exe' "$func_basename_result"
         1291  +    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
         1292  +}
         1293  +
         1294  +# func_ltwrapper_p file
         1295  +# True iff FILE is a libtool wrapper script or wrapper executable
         1296  +# This function is only a basic sanity check; it will hardly flush out
         1297  +# determined imposters.
         1298  +func_ltwrapper_p ()
         1299  +{
         1300  +    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
         1301  +}
         1302  +
         1303  +
         1304  +# func_execute_cmds commands fail_cmd
         1305  +# Execute tilde-delimited COMMANDS.
         1306  +# If FAIL_CMD is given, eval that upon failure.
         1307  +# FAIL_CMD may read-access the current command in variable CMD!
         1308  +func_execute_cmds ()
         1309  +{
         1310  +    $opt_debug
         1311  +    save_ifs=$IFS; IFS='~'
         1312  +    for cmd in $1; do
         1313  +      IFS=$save_ifs
         1314  +      eval cmd=\"$cmd\"
         1315  +      func_show_eval "$cmd" "${2-:}"
         1316  +    done
         1317  +    IFS=$save_ifs
         1318  +}
         1319  +
         1320  +
         1321  +# func_source file
         1322  +# Source FILE, adding directory component if necessary.
         1323  +# Note that it is not necessary on cygwin/mingw to append a dot to
         1324  +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
         1325  +# behavior happens only for exec(3), not for open(2)!  Also, sourcing
         1326  +# `FILE.' does not work on cygwin managed mounts.
         1327  +func_source ()
         1328  +{
         1329  +    $opt_debug
         1330  +    case $1 in
         1331  +    */* | *\\*)	. "$1" ;;
         1332  +    *)		. "./$1" ;;
         1333  +    esac
         1334  +}
         1335  +
         1336  +
         1337  +# func_resolve_sysroot PATH
         1338  +# Replace a leading = in PATH with a sysroot.  Store the result into
         1339  +# func_resolve_sysroot_result
         1340  +func_resolve_sysroot ()
         1341  +{
         1342  +  func_resolve_sysroot_result=$1
         1343  +  case $func_resolve_sysroot_result in
         1344  +  =*)
         1345  +    func_stripname '=' '' "$func_resolve_sysroot_result"
         1346  +    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
         1347  +    ;;
         1348  +  esac
         1349  +}
         1350  +
         1351  +# func_replace_sysroot PATH
         1352  +# If PATH begins with the sysroot, replace it with = and
         1353  +# store the result into func_replace_sysroot_result.
         1354  +func_replace_sysroot ()
         1355  +{
         1356  +  case "$lt_sysroot:$1" in
         1357  +  ?*:"$lt_sysroot"*)
         1358  +    func_stripname "$lt_sysroot" '' "$1"
         1359  +    func_replace_sysroot_result="=$func_stripname_result"
         1360  +    ;;
         1361  +  *)
         1362  +    # Including no sysroot.
         1363  +    func_replace_sysroot_result=$1
         1364  +    ;;
         1365  +  esac
         1366  +}
         1367  +
         1368  +# func_infer_tag arg
         1369  +# Infer tagged configuration to use if any are available and
         1370  +# if one wasn't chosen via the "--tag" command line option.
         1371  +# Only attempt this if the compiler in the base compile
         1372  +# command doesn't match the default compiler.
         1373  +# arg is usually of the form 'gcc ...'
         1374  +func_infer_tag ()
         1375  +{
         1376  +    $opt_debug
         1377  +    if test -n "$available_tags" && test -z "$tagname"; then
         1378  +      CC_quoted=
         1379  +      for arg in $CC; do
         1380  +	func_append_quoted CC_quoted "$arg"
         1381  +      done
         1382  +      CC_expanded=`func_echo_all $CC`
         1383  +      CC_quoted_expanded=`func_echo_all $CC_quoted`
         1384  +      case $@ in
         1385  +      # Blanks in the command may have been stripped by the calling shell,
         1386  +      # but not from the CC environment variable when configure was run.
         1387  +      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
         1388  +      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
         1389  +      # Blanks at the start of $base_compile will cause this to fail
         1390  +      # if we don't check for them as well.
         1391  +      *)
         1392  +	for z in $available_tags; do
         1393  +	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
         1394  +	    # Evaluate the configuration.
         1395  +	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
         1396  +	    CC_quoted=
         1397  +	    for arg in $CC; do
         1398  +	      # Double-quote args containing other shell metacharacters.
         1399  +	      func_append_quoted CC_quoted "$arg"
         1400  +	    done
         1401  +	    CC_expanded=`func_echo_all $CC`
         1402  +	    CC_quoted_expanded=`func_echo_all $CC_quoted`
         1403  +	    case "$@ " in
         1404  +	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
         1405  +	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
         1406  +	      # The compiler in the base compile command matches
         1407  +	      # the one in the tagged configuration.
         1408  +	      # Assume this is the tagged configuration we want.
         1409  +	      tagname=$z
         1410  +	      break
         1411  +	      ;;
         1412  +	    esac
         1413  +	  fi
         1414  +	done
         1415  +	# If $tagname still isn't set, then no tagged configuration
         1416  +	# was found and let the user know that the "--tag" command
         1417  +	# line option must be used.
         1418  +	if test -z "$tagname"; then
         1419  +	  func_echo "unable to infer tagged configuration"
         1420  +	  func_fatal_error "specify a tag with \`--tag'"
         1421  +#	else
         1422  +#	  func_verbose "using $tagname tagged configuration"
         1423  +	fi
         1424  +	;;
         1425  +      esac
         1426  +    fi
         1427  +}
         1428  +
         1429  +
         1430  +
         1431  +# func_write_libtool_object output_name pic_name nonpic_name
         1432  +# Create a libtool object file (analogous to a ".la" file),
         1433  +# but don't create it if we're doing a dry run.
         1434  +func_write_libtool_object ()
         1435  +{
         1436  +    write_libobj=${1}
         1437  +    if test "$build_libtool_libs" = yes; then
         1438  +      write_lobj=\'${2}\'
         1439  +    else
         1440  +      write_lobj=none
         1441  +    fi
         1442  +
         1443  +    if test "$build_old_libs" = yes; then
         1444  +      write_oldobj=\'${3}\'
         1445  +    else
         1446  +      write_oldobj=none
         1447  +    fi
         1448  +
         1449  +    $opt_dry_run || {
         1450  +      cat >${write_libobj}T <<EOF
         1451  +# $write_libobj - a libtool object file
         1452  +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
         1453  +#
         1454  +# Please DO NOT delete this file!
         1455  +# It is necessary for linking the library.
         1456  +
         1457  +# Name of the PIC object.
         1458  +pic_object=$write_lobj
         1459  +
         1460  +# Name of the non-PIC object
         1461  +non_pic_object=$write_oldobj
         1462  +
         1463  +EOF
         1464  +      $MV "${write_libobj}T" "${write_libobj}"
         1465  +    }
         1466  +}
         1467  +
         1468  +
         1469  +##################################################
         1470  +# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
         1471  +##################################################
         1472  +
         1473  +# func_convert_core_file_wine_to_w32 ARG
         1474  +# Helper function used by file name conversion functions when $build is *nix,
         1475  +# and $host is mingw, cygwin, or some other w32 environment. Relies on a
         1476  +# correctly configured wine environment available, with the winepath program
         1477  +# in $build's $PATH.
         1478  +#
         1479  +# ARG is the $build file name to be converted to w32 format.
         1480  +# Result is available in $func_convert_core_file_wine_to_w32_result, and will
         1481  +# be empty on error (or when ARG is empty)
         1482  +func_convert_core_file_wine_to_w32 ()
         1483  +{
         1484  +  $opt_debug
         1485  +  func_convert_core_file_wine_to_w32_result="$1"
         1486  +  if test -n "$1"; then
         1487  +    # Unfortunately, winepath does not exit with a non-zero error code, so we
         1488  +    # are forced to check the contents of stdout. On the other hand, if the
         1489  +    # command is not found, the shell will set an exit code of 127 and print
         1490  +    # *an error message* to stdout. So we must check for both error code of
         1491  +    # zero AND non-empty stdout, which explains the odd construction:
         1492  +    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
         1493  +    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
         1494  +      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
         1495  +        $SED -e "$lt_sed_naive_backslashify"`
         1496  +    else
         1497  +      func_convert_core_file_wine_to_w32_result=
         1498  +    fi
         1499  +  fi
         1500  +}
         1501  +# end: func_convert_core_file_wine_to_w32
         1502  +
         1503  +
         1504  +# func_convert_core_path_wine_to_w32 ARG
         1505  +# Helper function used by path conversion functions when $build is *nix, and
         1506  +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
         1507  +# configured wine environment available, with the winepath program in $build's
         1508  +# $PATH. Assumes ARG has no leading or trailing path separator characters.
         1509  +#
         1510  +# ARG is path to be converted from $build format to win32.
         1511  +# Result is available in $func_convert_core_path_wine_to_w32_result.
         1512  +# Unconvertible file (directory) names in ARG are skipped; if no directory names
         1513  +# are convertible, then the result may be empty.
         1514  +func_convert_core_path_wine_to_w32 ()
         1515  +{
         1516  +  $opt_debug
         1517  +  # unfortunately, winepath doesn't convert paths, only file names
         1518  +  func_convert_core_path_wine_to_w32_result=""
         1519  +  if test -n "$1"; then
         1520  +    oldIFS=$IFS
         1521  +    IFS=:
         1522  +    for func_convert_core_path_wine_to_w32_f in $1; do
         1523  +      IFS=$oldIFS
         1524  +      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
         1525  +      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
         1526  +        if test -z "$func_convert_core_path_wine_to_w32_result"; then
         1527  +          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
         1528  +        else
         1529  +          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
         1530  +        fi
         1531  +      fi
         1532  +    done
         1533  +    IFS=$oldIFS
         1534  +  fi
         1535  +}
         1536  +# end: func_convert_core_path_wine_to_w32
         1537  +
         1538  +
         1539  +# func_cygpath ARGS...
         1540  +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
         1541  +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
         1542  +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
         1543  +# (2), returns the Cygwin file name or path in func_cygpath_result (input
         1544  +# file name or path is assumed to be in w32 format, as previously converted
         1545  +# from $build's *nix or MSYS format). In case (3), returns the w32 file name
         1546  +# or path in func_cygpath_result (input file name or path is assumed to be in
         1547  +# Cygwin format). Returns an empty string on error.
         1548  +#
         1549  +# ARGS are passed to cygpath, with the last one being the file name or path to
         1550  +# be converted.
         1551  +#
         1552  +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
         1553  +# environment variable; do not put it in $PATH.
         1554  +func_cygpath ()
         1555  +{
         1556  +  $opt_debug
         1557  +  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
         1558  +    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
         1559  +    if test "$?" -ne 0; then
         1560  +      # on failure, ensure result is empty
         1561  +      func_cygpath_result=
         1562  +    fi
         1563  +  else
         1564  +    func_cygpath_result=
         1565  +    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
         1566  +  fi
         1567  +}
         1568  +#end: func_cygpath
         1569  +
         1570  +
         1571  +# func_convert_core_msys_to_w32 ARG
         1572  +# Convert file name or path ARG from MSYS format to w32 format.  Return
         1573  +# result in func_convert_core_msys_to_w32_result.
         1574  +func_convert_core_msys_to_w32 ()
         1575  +{
         1576  +  $opt_debug
         1577  +  # awkward: cmd appends spaces to result
         1578  +  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
         1579  +    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
         1580  +}
         1581  +#end: func_convert_core_msys_to_w32
         1582  +
         1583  +
         1584  +# func_convert_file_check ARG1 ARG2
         1585  +# Verify that ARG1 (a file name in $build format) was converted to $host
         1586  +# format in ARG2. Otherwise, emit an error message, but continue (resetting
         1587  +# func_to_host_file_result to ARG1).
         1588  +func_convert_file_check ()
         1589  +{
         1590  +  $opt_debug
         1591  +  if test -z "$2" && test -n "$1" ; then
         1592  +    func_error "Could not determine host file name corresponding to"
         1593  +    func_error "  \`$1'"
         1594  +    func_error "Continuing, but uninstalled executables may not work."
         1595  +    # Fallback:
         1596  +    func_to_host_file_result="$1"
         1597  +  fi
         1598  +}
         1599  +# end func_convert_file_check
         1600  +
         1601  +
         1602  +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
         1603  +# Verify that FROM_PATH (a path in $build format) was converted to $host
         1604  +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
         1605  +# func_to_host_file_result to a simplistic fallback value (see below).
         1606  +func_convert_path_check ()
         1607  +{
         1608  +  $opt_debug
         1609  +  if test -z "$4" && test -n "$3"; then
         1610  +    func_error "Could not determine the host path corresponding to"
         1611  +    func_error "  \`$3'"
         1612  +    func_error "Continuing, but uninstalled executables may not work."
         1613  +    # Fallback.  This is a deliberately simplistic "conversion" and
         1614  +    # should not be "improved".  See libtool.info.
         1615  +    if test "x$1" != "x$2"; then
         1616  +      lt_replace_pathsep_chars="s|$1|$2|g"
         1617  +      func_to_host_path_result=`echo "$3" |
         1618  +        $SED -e "$lt_replace_pathsep_chars"`
         1619  +    else
         1620  +      func_to_host_path_result="$3"
         1621  +    fi
         1622  +  fi
         1623  +}
         1624  +# end func_convert_path_check
         1625  +
         1626  +
         1627  +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
         1628  +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
         1629  +# and appending REPL if ORIG matches BACKPAT.
         1630  +func_convert_path_front_back_pathsep ()
         1631  +{
         1632  +  $opt_debug
         1633  +  case $4 in
         1634  +  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
         1635  +    ;;
         1636  +  esac
         1637  +  case $4 in
         1638  +  $2 ) func_append func_to_host_path_result "$3"
         1639  +    ;;
         1640  +  esac
         1641  +}
         1642  +# end func_convert_path_front_back_pathsep
         1643  +
         1644  +
         1645  +##################################################
         1646  +# $build to $host FILE NAME CONVERSION FUNCTIONS #
         1647  +##################################################
         1648  +# invoked via `$to_host_file_cmd ARG'
         1649  +#
         1650  +# In each case, ARG is the path to be converted from $build to $host format.
         1651  +# Result will be available in $func_to_host_file_result.
         1652  +
         1653  +
         1654  +# func_to_host_file ARG
         1655  +# Converts the file name ARG from $build format to $host format. Return result
         1656  +# in func_to_host_file_result.
         1657  +func_to_host_file ()
         1658  +{
         1659  +  $opt_debug
         1660  +  $to_host_file_cmd "$1"
         1661  +}
         1662  +# end func_to_host_file
         1663  +
         1664  +
         1665  +# func_to_tool_file ARG LAZY
         1666  +# converts the file name ARG from $build format to toolchain format. Return
         1667  +# result in func_to_tool_file_result.  If the conversion in use is listed
         1668  +# in (the comma separated) LAZY, no conversion takes place.
         1669  +func_to_tool_file ()
         1670  +{
         1671  +  $opt_debug
         1672  +  case ,$2, in
         1673  +    *,"$to_tool_file_cmd",*)
         1674  +      func_to_tool_file_result=$1
         1675  +      ;;
         1676  +    *)
         1677  +      $to_tool_file_cmd "$1"
         1678  +      func_to_tool_file_result=$func_to_host_file_result
         1679  +      ;;
         1680  +  esac
         1681  +}
         1682  +# end func_to_tool_file
         1683  +
         1684  +
         1685  +# func_convert_file_noop ARG
         1686  +# Copy ARG to func_to_host_file_result.
         1687  +func_convert_file_noop ()
         1688  +{
         1689  +  func_to_host_file_result="$1"
         1690  +}
         1691  +# end func_convert_file_noop
         1692  +
         1693  +
         1694  +# func_convert_file_msys_to_w32 ARG
         1695  +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
         1696  +# conversion to w32 is not available inside the cwrapper.  Returns result in
         1697  +# func_to_host_file_result.
         1698  +func_convert_file_msys_to_w32 ()
         1699  +{
         1700  +  $opt_debug
         1701  +  func_to_host_file_result="$1"
         1702  +  if test -n "$1"; then
         1703  +    func_convert_core_msys_to_w32 "$1"
         1704  +    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
         1705  +  fi
         1706  +  func_convert_file_check "$1" "$func_to_host_file_result"
         1707  +}
         1708  +# end func_convert_file_msys_to_w32
         1709  +
         1710  +
         1711  +# func_convert_file_cygwin_to_w32 ARG
         1712  +# Convert file name ARG from Cygwin to w32 format.  Returns result in
         1713  +# func_to_host_file_result.
         1714  +func_convert_file_cygwin_to_w32 ()
         1715  +{
         1716  +  $opt_debug
         1717  +  func_to_host_file_result="$1"
         1718  +  if test -n "$1"; then
         1719  +    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
         1720  +    # LT_CYGPATH in this case.
         1721  +    func_to_host_file_result=`cygpath -m "$1"`
         1722  +  fi
         1723  +  func_convert_file_check "$1" "$func_to_host_file_result"
         1724  +}
         1725  +# end func_convert_file_cygwin_to_w32
         1726  +
         1727  +
         1728  +# func_convert_file_nix_to_w32 ARG
         1729  +# Convert file name ARG from *nix to w32 format.  Requires a wine environment
         1730  +# and a working winepath. Returns result in func_to_host_file_result.
         1731  +func_convert_file_nix_to_w32 ()
         1732  +{
         1733  +  $opt_debug
         1734  +  func_to_host_file_result="$1"
         1735  +  if test -n "$1"; then
         1736  +    func_convert_core_file_wine_to_w32 "$1"
         1737  +    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
         1738  +  fi
         1739  +  func_convert_file_check "$1" "$func_to_host_file_result"
         1740  +}
         1741  +# end func_convert_file_nix_to_w32
         1742  +
         1743  +
         1744  +# func_convert_file_msys_to_cygwin ARG
         1745  +# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
         1746  +# Returns result in func_to_host_file_result.
         1747  +func_convert_file_msys_to_cygwin ()
         1748  +{
         1749  +  $opt_debug
         1750  +  func_to_host_file_result="$1"
         1751  +  if test -n "$1"; then
         1752  +    func_convert_core_msys_to_w32 "$1"
         1753  +    func_cygpath -u "$func_convert_core_msys_to_w32_result"
         1754  +    func_to_host_file_result="$func_cygpath_result"
         1755  +  fi
         1756  +  func_convert_file_check "$1" "$func_to_host_file_result"
         1757  +}
         1758  +# end func_convert_file_msys_to_cygwin
         1759  +
         1760  +
         1761  +# func_convert_file_nix_to_cygwin ARG
         1762  +# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
         1763  +# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
         1764  +# in func_to_host_file_result.
         1765  +func_convert_file_nix_to_cygwin ()
         1766  +{
         1767  +  $opt_debug
         1768  +  func_to_host_file_result="$1"
         1769  +  if test -n "$1"; then
         1770  +    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
         1771  +    func_convert_core_file_wine_to_w32 "$1"
         1772  +    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
         1773  +    func_to_host_file_result="$func_cygpath_result"
         1774  +  fi
         1775  +  func_convert_file_check "$1" "$func_to_host_file_result"
         1776  +}
         1777  +# end func_convert_file_nix_to_cygwin
         1778  +
         1779  +
         1780  +#############################################
         1781  +# $build to $host PATH CONVERSION FUNCTIONS #
         1782  +#############################################
         1783  +# invoked via `$to_host_path_cmd ARG'
         1784  +#
         1785  +# In each case, ARG is the path to be converted from $build to $host format.
         1786  +# The result will be available in $func_to_host_path_result.
         1787  +#
         1788  +# Path separators are also converted from $build format to $host format.  If
         1789  +# ARG begins or ends with a path separator character, it is preserved (but
         1790  +# converted to $host format) on output.
         1791  +#
         1792  +# All path conversion functions are named using the following convention:
         1793  +#   file name conversion function    : func_convert_file_X_to_Y ()
         1794  +#   path conversion function         : func_convert_path_X_to_Y ()
         1795  +# where, for any given $build/$host combination the 'X_to_Y' value is the
         1796  +# same.  If conversion functions are added for new $build/$host combinations,
         1797  +# the two new functions must follow this pattern, or func_init_to_host_path_cmd
         1798  +# will break.
         1799  +
         1800  +
         1801  +# func_init_to_host_path_cmd
         1802  +# Ensures that function "pointer" variable $to_host_path_cmd is set to the
         1803  +# appropriate value, based on the value of $to_host_file_cmd.
         1804  +to_host_path_cmd=
         1805  +func_init_to_host_path_cmd ()
         1806  +{
         1807  +  $opt_debug
         1808  +  if test -z "$to_host_path_cmd"; then
         1809  +    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
         1810  +    to_host_path_cmd="func_convert_path_${func_stripname_result}"
         1811  +  fi
         1812  +}
         1813  +
         1814  +
         1815  +# func_to_host_path ARG
         1816  +# Converts the path ARG from $build format to $host format. Return result
         1817  +# in func_to_host_path_result.
         1818  +func_to_host_path ()
         1819  +{
         1820  +  $opt_debug
         1821  +  func_init_to_host_path_cmd
         1822  +  $to_host_path_cmd "$1"
         1823  +}
         1824  +# end func_to_host_path
         1825  +
         1826  +
         1827  +# func_convert_path_noop ARG
         1828  +# Copy ARG to func_to_host_path_result.
         1829  +func_convert_path_noop ()
         1830  +{
         1831  +  func_to_host_path_result="$1"
         1832  +}
         1833  +# end func_convert_path_noop
         1834  +
         1835  +
         1836  +# func_convert_path_msys_to_w32 ARG
         1837  +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
         1838  +# conversion to w32 is not available inside the cwrapper.  Returns result in
         1839  +# func_to_host_path_result.
         1840  +func_convert_path_msys_to_w32 ()
         1841  +{
         1842  +  $opt_debug
         1843  +  func_to_host_path_result="$1"
         1844  +  if test -n "$1"; then
         1845  +    # Remove leading and trailing path separator characters from ARG.  MSYS
         1846  +    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
         1847  +    # and winepath ignores them completely.
         1848  +    func_stripname : : "$1"
         1849  +    func_to_host_path_tmp1=$func_stripname_result
         1850  +    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
         1851  +    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
         1852  +    func_convert_path_check : ";" \
         1853  +      "$func_to_host_path_tmp1" "$func_to_host_path_result"
         1854  +    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
         1855  +  fi
         1856  +}
         1857  +# end func_convert_path_msys_to_w32
         1858  +
         1859  +
         1860  +# func_convert_path_cygwin_to_w32 ARG
         1861  +# Convert path ARG from Cygwin to w32 format.  Returns result in
         1862  +# func_to_host_file_result.
         1863  +func_convert_path_cygwin_to_w32 ()
         1864  +{
         1865  +  $opt_debug
         1866  +  func_to_host_path_result="$1"
         1867  +  if test -n "$1"; then
         1868  +    # See func_convert_path_msys_to_w32:
         1869  +    func_stripname : : "$1"
         1870  +    func_to_host_path_tmp1=$func_stripname_result
         1871  +    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
         1872  +    func_convert_path_check : ";" \
         1873  +      "$func_to_host_path_tmp1" "$func_to_host_path_result"
         1874  +    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
         1875  +  fi
         1876  +}
         1877  +# end func_convert_path_cygwin_to_w32
         1878  +
         1879  +
         1880  +# func_convert_path_nix_to_w32 ARG
         1881  +# Convert path ARG from *nix to w32 format.  Requires a wine environment and
         1882  +# a working winepath.  Returns result in func_to_host_file_result.
         1883  +func_convert_path_nix_to_w32 ()
         1884  +{
         1885  +  $opt_debug
         1886  +  func_to_host_path_result="$1"
         1887  +  if test -n "$1"; then
         1888  +    # See func_convert_path_msys_to_w32:
         1889  +    func_stripname : : "$1"
         1890  +    func_to_host_path_tmp1=$func_stripname_result
         1891  +    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
         1892  +    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
         1893  +    func_convert_path_check : ";" \
         1894  +      "$func_to_host_path_tmp1" "$func_to_host_path_result"
         1895  +    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
         1896  +  fi
         1897  +}
         1898  +# end func_convert_path_nix_to_w32
         1899  +
         1900  +
         1901  +# func_convert_path_msys_to_cygwin ARG
         1902  +# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
         1903  +# Returns result in func_to_host_file_result.
         1904  +func_convert_path_msys_to_cygwin ()
         1905  +{
         1906  +  $opt_debug
         1907  +  func_to_host_path_result="$1"
         1908  +  if test -n "$1"; then
         1909  +    # See func_convert_path_msys_to_w32:
         1910  +    func_stripname : : "$1"
         1911  +    func_to_host_path_tmp1=$func_stripname_result
         1912  +    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
         1913  +    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
         1914  +    func_to_host_path_result="$func_cygpath_result"
         1915  +    func_convert_path_check : : \
         1916  +      "$func_to_host_path_tmp1" "$func_to_host_path_result"
         1917  +    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
         1918  +  fi
         1919  +}
         1920  +# end func_convert_path_msys_to_cygwin
         1921  +
         1922  +
         1923  +# func_convert_path_nix_to_cygwin ARG
         1924  +# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
         1925  +# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
         1926  +# func_to_host_file_result.
         1927  +func_convert_path_nix_to_cygwin ()
         1928  +{
         1929  +  $opt_debug
         1930  +  func_to_host_path_result="$1"
         1931  +  if test -n "$1"; then
         1932  +    # Remove leading and trailing path separator characters from
         1933  +    # ARG. msys behavior is inconsistent here, cygpath turns them
         1934  +    # into '.;' and ';.', and winepath ignores them completely.
         1935  +    func_stripname : : "$1"
         1936  +    func_to_host_path_tmp1=$func_stripname_result
         1937  +    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
         1938  +    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
         1939  +    func_to_host_path_result="$func_cygpath_result"
         1940  +    func_convert_path_check : : \
         1941  +      "$func_to_host_path_tmp1" "$func_to_host_path_result"
         1942  +    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
         1943  +  fi
         1944  +}
         1945  +# end func_convert_path_nix_to_cygwin
         1946  +
         1947  +
         1948  +# func_mode_compile arg...
         1949  +func_mode_compile ()
         1950  +{
         1951  +    $opt_debug
         1952  +    # Get the compilation command and the source file.
         1953  +    base_compile=
         1954  +    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
         1955  +    suppress_opt=yes
         1956  +    suppress_output=
         1957  +    arg_mode=normal
         1958  +    libobj=
         1959  +    later=
         1960  +    pie_flag=
         1961  +
         1962  +    for arg
         1963  +    do
         1964  +      case $arg_mode in
         1965  +      arg  )
         1966  +	# do not "continue".  Instead, add this to base_compile
         1967  +	lastarg="$arg"
         1968  +	arg_mode=normal
         1969  +	;;
         1970  +
         1971  +      target )
         1972  +	libobj="$arg"
         1973  +	arg_mode=normal
         1974  +	continue
         1975  +	;;
         1976  +
         1977  +      normal )
         1978  +	# Accept any command-line options.
         1979  +	case $arg in
         1980  +	-o)
         1981  +	  test -n "$libobj" && \
         1982  +	    func_fatal_error "you cannot specify \`-o' more than once"
         1983  +	  arg_mode=target
         1984  +	  continue
         1985  +	  ;;
         1986  +
         1987  +	-pie | -fpie | -fPIE)
         1988  +          func_append pie_flag " $arg"
         1989  +	  continue
         1990  +	  ;;
         1991  +
         1992  +	-shared | -static | -prefer-pic | -prefer-non-pic)
         1993  +	  func_append later " $arg"
         1994  +	  continue
         1995  +	  ;;
         1996  +
         1997  +	-no-suppress)
         1998  +	  suppress_opt=no
         1999  +	  continue
         2000  +	  ;;
         2001  +
         2002  +	-Xcompiler)
         2003  +	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
         2004  +	  continue      #  The current "srcfile" will either be retained or
         2005  +	  ;;            #  replaced later.  I would guess that would be a bug.
         2006  +
         2007  +	-Wc,*)
         2008  +	  func_stripname '-Wc,' '' "$arg"
         2009  +	  args=$func_stripname_result
         2010  +	  lastarg=
         2011  +	  save_ifs="$IFS"; IFS=','
         2012  +	  for arg in $args; do
         2013  +	    IFS="$save_ifs"
         2014  +	    func_append_quoted lastarg "$arg"
         2015  +	  done
         2016  +	  IFS="$save_ifs"
         2017  +	  func_stripname ' ' '' "$lastarg"
         2018  +	  lastarg=$func_stripname_result
         2019  +
         2020  +	  # Add the arguments to base_compile.
         2021  +	  func_append base_compile " $lastarg"
         2022  +	  continue
         2023  +	  ;;
         2024  +
         2025  +	*)
         2026  +	  # Accept the current argument as the source file.
         2027  +	  # The previous "srcfile" becomes the current argument.
         2028  +	  #
         2029  +	  lastarg="$srcfile"
         2030  +	  srcfile="$arg"
         2031  +	  ;;
         2032  +	esac  #  case $arg
         2033  +	;;
         2034  +      esac    #  case $arg_mode
         2035  +
         2036  +      # Aesthetically quote the previous argument.
         2037  +      func_append_quoted base_compile "$lastarg"
         2038  +    done # for arg
         2039  +
         2040  +    case $arg_mode in
         2041  +    arg)
         2042  +      func_fatal_error "you must specify an argument for -Xcompile"
         2043  +      ;;
         2044  +    target)
         2045  +      func_fatal_error "you must specify a target with \`-o'"
         2046  +      ;;
         2047  +    *)
         2048  +      # Get the name of the library object.
         2049  +      test -z "$libobj" && {
         2050  +	func_basename "$srcfile"
         2051  +	libobj="$func_basename_result"
         2052  +      }
         2053  +      ;;
         2054  +    esac
         2055  +
         2056  +    # Recognize several different file suffixes.
         2057  +    # If the user specifies -o file.o, it is replaced with file.lo
         2058  +    case $libobj in
         2059  +    *.[cCFSifmso] | \
         2060  +    *.ada | *.adb | *.ads | *.asm | \
         2061  +    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
         2062  +    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
         2063  +      func_xform "$libobj"
         2064  +      libobj=$func_xform_result
         2065  +      ;;
         2066  +    esac
         2067  +
         2068  +    case $libobj in
         2069  +    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
         2070  +    *)
         2071  +      func_fatal_error "cannot determine name of library object from \`$libobj'"
         2072  +      ;;
         2073  +    esac
         2074  +
         2075  +    func_infer_tag $base_compile
         2076  +
         2077  +    for arg in $later; do
         2078  +      case $arg in
         2079  +      -shared)
         2080  +	test "$build_libtool_libs" != yes && \
         2081  +	  func_fatal_configuration "can not build a shared library"
         2082  +	build_old_libs=no
         2083  +	continue
         2084  +	;;
         2085  +
         2086  +      -static)
         2087  +	build_libtool_libs=no
         2088  +	build_old_libs=yes
         2089  +	continue
         2090  +	;;
         2091  +
         2092  +      -prefer-pic)
         2093  +	pic_mode=yes
         2094  +	continue
         2095  +	;;
         2096  +
         2097  +      -prefer-non-pic)
         2098  +	pic_mode=no
         2099  +	continue
         2100  +	;;
         2101  +      esac
         2102  +    done
         2103  +
         2104  +    func_quote_for_eval "$libobj"
         2105  +    test "X$libobj" != "X$func_quote_for_eval_result" \
         2106  +      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
         2107  +      && func_warning "libobj name \`$libobj' may not contain shell special characters."
         2108  +    func_dirname_and_basename "$obj" "/" ""
         2109  +    objname="$func_basename_result"
         2110  +    xdir="$func_dirname_result"
         2111  +    lobj=${xdir}$objdir/$objname
         2112  +
         2113  +    test -z "$base_compile" && \
         2114  +      func_fatal_help "you must specify a compilation command"
         2115  +
         2116  +    # Delete any leftover library objects.
         2117  +    if test "$build_old_libs" = yes; then
         2118  +      removelist="$obj $lobj $libobj ${libobj}T"
         2119  +    else
         2120  +      removelist="$lobj $libobj ${libobj}T"
         2121  +    fi
         2122  +
         2123  +    # On Cygwin there's no "real" PIC flag so we must build both object types
         2124  +    case $host_os in
         2125  +    cygwin* | mingw* | pw32* | os2* | cegcc*)
         2126  +      pic_mode=default
         2127  +      ;;
         2128  +    esac
         2129  +    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
         2130  +      # non-PIC code in shared libraries is not supported
         2131  +      pic_mode=default
         2132  +    fi
         2133  +
         2134  +    # Calculate the filename of the output object if compiler does
         2135  +    # not support -o with -c
         2136  +    if test "$compiler_c_o" = no; then
         2137  +      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
         2138  +      lockfile="$output_obj.lock"
         2139  +    else
         2140  +      output_obj=
         2141  +      need_locks=no
         2142  +      lockfile=
         2143  +    fi
         2144  +
         2145  +    # Lock this critical section if it is needed
         2146  +    # We use this script file to make the link, it avoids creating a new file
         2147  +    if test "$need_locks" = yes; then
         2148  +      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
         2149  +	func_echo "Waiting for $lockfile to be removed"
         2150  +	sleep 2
         2151  +      done
         2152  +    elif test "$need_locks" = warn; then
         2153  +      if test -f "$lockfile"; then
         2154  +	$ECHO "\
         2155  +*** ERROR, $lockfile exists and contains:
         2156  +`cat $lockfile 2>/dev/null`
         2157  +
         2158  +This indicates that another process is trying to use the same
         2159  +temporary object file, and libtool could not work around it because
         2160  +your compiler does not support \`-c' and \`-o' together.  If you
         2161  +repeat this compilation, it may succeed, by chance, but you had better
         2162  +avoid parallel builds (make -j) in this platform, or get a better
         2163  +compiler."
         2164  +
         2165  +	$opt_dry_run || $RM $removelist
         2166  +	exit $EXIT_FAILURE
         2167  +      fi
         2168  +      func_append removelist " $output_obj"
         2169  +      $ECHO "$srcfile" > "$lockfile"
         2170  +    fi
         2171  +
         2172  +    $opt_dry_run || $RM $removelist
         2173  +    func_append removelist " $lockfile"
         2174  +    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
         2175  +
         2176  +    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
         2177  +    srcfile=$func_to_tool_file_result
         2178  +    func_quote_for_eval "$srcfile"
         2179  +    qsrcfile=$func_quote_for_eval_result
         2180  +
         2181  +    # Only build a PIC object if we are building libtool libraries.
         2182  +    if test "$build_libtool_libs" = yes; then
         2183  +      # Without this assignment, base_compile gets emptied.
         2184  +      fbsd_hideous_sh_bug=$base_compile
         2185  +
         2186  +      if test "$pic_mode" != no; then
         2187  +	command="$base_compile $qsrcfile $pic_flag"
         2188  +      else
         2189  +	# Don't build PIC code
         2190  +	command="$base_compile $qsrcfile"
         2191  +      fi
         2192  +
         2193  +      func_mkdir_p "$xdir$objdir"
         2194  +
         2195  +      if test -z "$output_obj"; then
         2196  +	# Place PIC objects in $objdir
         2197  +	func_append command " -o $lobj"
         2198  +      fi
         2199  +
         2200  +      func_show_eval_locale "$command"	\
         2201  +          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
         2202  +
         2203  +      if test "$need_locks" = warn &&
         2204  +	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
         2205  +	$ECHO "\
         2206  +*** ERROR, $lockfile contains:
         2207  +`cat $lockfile 2>/dev/null`
         2208  +
         2209  +but it should contain:
         2210  +$srcfile
         2211  +
         2212  +This indicates that another process is trying to use the same
         2213  +temporary object file, and libtool could not work around it because
         2214  +your compiler does not support \`-c' and \`-o' together.  If you
         2215  +repeat this compilation, it may succeed, by chance, but you had better
         2216  +avoid parallel builds (make -j) in this platform, or get a better
         2217  +compiler."
         2218  +
         2219  +	$opt_dry_run || $RM $removelist
         2220  +	exit $EXIT_FAILURE
         2221  +      fi
         2222  +
         2223  +      # Just move the object if needed, then go on to compile the next one
         2224  +      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
         2225  +	func_show_eval '$MV "$output_obj" "$lobj"' \
         2226  +	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
         2227  +      fi
         2228  +
         2229  +      # Allow error messages only from the first compilation.
         2230  +      if test "$suppress_opt" = yes; then
         2231  +	suppress_output=' >/dev/null 2>&1'
         2232  +      fi
         2233  +    fi
         2234  +
         2235  +    # Only build a position-dependent object if we build old libraries.
         2236  +    if test "$build_old_libs" = yes; then
         2237  +      if test "$pic_mode" != yes; then
         2238  +	# Don't build PIC code
         2239  +	command="$base_compile $qsrcfile$pie_flag"
         2240  +      else
         2241  +	command="$base_compile $qsrcfile $pic_flag"
         2242  +      fi
         2243  +      if test "$compiler_c_o" = yes; then
         2244  +	func_append command " -o $obj"
         2245  +      fi
         2246  +
         2247  +      # Suppress compiler output if we already did a PIC compilation.
         2248  +      func_append command "$suppress_output"
         2249  +      func_show_eval_locale "$command" \
         2250  +        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
         2251  +
         2252  +      if test "$need_locks" = warn &&
         2253  +	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
         2254  +	$ECHO "\
         2255  +*** ERROR, $lockfile contains:
         2256  +`cat $lockfile 2>/dev/null`
         2257  +
         2258  +but it should contain:
         2259  +$srcfile
         2260  +
         2261  +This indicates that another process is trying to use the same
         2262  +temporary object file, and libtool could not work around it because
         2263  +your compiler does not support \`-c' and \`-o' together.  If you
         2264  +repeat this compilation, it may succeed, by chance, but you had better
         2265  +avoid parallel builds (make -j) in this platform, or get a better
         2266  +compiler."
         2267  +
         2268  +	$opt_dry_run || $RM $removelist
         2269  +	exit $EXIT_FAILURE
         2270  +      fi
         2271  +
         2272  +      # Just move the object if needed
         2273  +      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
         2274  +	func_show_eval '$MV "$output_obj" "$obj"' \
         2275  +	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
         2276  +      fi
         2277  +    fi
         2278  +
         2279  +    $opt_dry_run || {
         2280  +      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
         2281  +
         2282  +      # Unlock the critical section if it was locked
         2283  +      if test "$need_locks" != no; then
         2284  +	removelist=$lockfile
         2285  +        $RM "$lockfile"
         2286  +      fi
         2287  +    }
         2288  +
         2289  +    exit $EXIT_SUCCESS
         2290  +}
         2291  +
         2292  +$opt_help || {
         2293  +  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
         2294  +}
         2295  +
         2296  +func_mode_help ()
         2297  +{
         2298  +    # We need to display help for each of the modes.
         2299  +    case $opt_mode in
         2300  +      "")
         2301  +        # Generic help is extracted from the usage comments
         2302  +        # at the start of this file.
         2303  +        func_help
         2304  +        ;;
         2305  +
         2306  +      clean)
         2307  +        $ECHO \
         2308  +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
         2309  +
         2310  +Remove files from the build directory.
         2311  +
         2312  +RM is the name of the program to use to delete files associated with each FILE
         2313  +(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
         2314  +to RM.
         2315  +
         2316  +If FILE is a libtool library, object or program, all the files associated
         2317  +with it are deleted. Otherwise, only FILE itself is deleted using RM."
         2318  +        ;;
         2319  +
         2320  +      compile)
         2321  +      $ECHO \
         2322  +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
         2323  +
         2324  +Compile a source file into a libtool library object.
         2325  +
         2326  +This mode accepts the following additional options:
         2327  +
         2328  +  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
         2329  +  -no-suppress      do not suppress compiler output for multiple passes
         2330  +  -prefer-pic       try to build PIC objects only
         2331  +  -prefer-non-pic   try to build non-PIC objects only
         2332  +  -shared           do not build a \`.o' file suitable for static linking
         2333  +  -static           only build a \`.o' file suitable for static linking
         2334  +  -Wc,FLAG          pass FLAG directly to the compiler
         2335  +
         2336  +COMPILE-COMMAND is a command to be used in creating a \`standard' object file
         2337  +from the given SOURCEFILE.
         2338  +
         2339  +The output file name is determined by removing the directory component from
         2340  +SOURCEFILE, then substituting the C source code suffix \`.c' with the
         2341  +library object suffix, \`.lo'."
         2342  +        ;;
         2343  +
         2344  +      execute)
         2345  +        $ECHO \
         2346  +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
         2347  +
         2348  +Automatically set library path, then run a program.
         2349  +
         2350  +This mode accepts the following additional options:
         2351  +
         2352  +  -dlopen FILE      add the directory containing FILE to the library path
         2353  +
         2354  +This mode sets the library path environment variable according to \`-dlopen'
         2355  +flags.
         2356  +
         2357  +If any of the ARGS are libtool executable wrappers, then they are translated
         2358  +into their corresponding uninstalled binary, and any of their required library
         2359  +directories are added to the library path.
         2360  +
         2361  +Then, COMMAND is executed, with ARGS as arguments."
         2362  +        ;;
         2363  +
         2364  +      finish)
         2365  +        $ECHO \
         2366  +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
         2367  +
         2368  +Complete the installation of libtool libraries.
         2369  +
         2370  +Each LIBDIR is a directory that contains libtool libraries.
         2371  +
         2372  +The commands that this mode executes may require superuser privileges.  Use
         2373  +the \`--dry-run' option if you just want to see what would be executed."
         2374  +        ;;
         2375  +
         2376  +      install)
         2377  +        $ECHO \
         2378  +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
         2379  +
         2380  +Install executables or libraries.
         2381  +
         2382  +INSTALL-COMMAND is the installation command.  The first component should be
         2383  +either the \`install' or \`cp' program.
         2384  +
         2385  +The following components of INSTALL-COMMAND are treated specially:
         2386  +
         2387  +  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
         2388  +
         2389  +The rest of the components are interpreted as arguments to that command (only
         2390  +BSD-compatible install options are recognized)."
         2391  +        ;;
         2392  +
         2393  +      link)
         2394  +        $ECHO \
         2395  +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
         2396  +
         2397  +Link object files or libraries together to form another library, or to
         2398  +create an executable program.
         2399  +
         2400  +LINK-COMMAND is a command using the C compiler that you would use to create
         2401  +a program from several object files.
         2402  +
         2403  +The following components of LINK-COMMAND are treated specially:
         2404  +
         2405  +  -all-static       do not do any dynamic linking at all
         2406  +  -avoid-version    do not add a version suffix if possible
         2407  +  -bindir BINDIR    specify path to binaries directory (for systems where
         2408  +                    libraries must be found in the PATH setting at runtime)
         2409  +  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
         2410  +  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
         2411  +  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
         2412  +  -export-symbols SYMFILE
         2413  +                    try to export only the symbols listed in SYMFILE
         2414  +  -export-symbols-regex REGEX
         2415  +                    try to export only the symbols matching REGEX
         2416  +  -LLIBDIR          search LIBDIR for required installed libraries
         2417  +  -lNAME            OUTPUT-FILE requires the installed library libNAME
         2418  +  -module           build a library that can dlopened
         2419  +  -no-fast-install  disable the fast-install mode
         2420  +  -no-install       link a not-installable executable
         2421  +  -no-undefined     declare that a library does not refer to external symbols
         2422  +  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
         2423  +  -objectlist FILE  Use a list of object files found in FILE to specify objects
         2424  +  -precious-files-regex REGEX
         2425  +                    don't remove output files matching REGEX
         2426  +  -release RELEASE  specify package release information
         2427  +  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
         2428  +  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
         2429  +  -shared           only do dynamic linking of libtool libraries
         2430  +  -shrext SUFFIX    override the standard shared library file extension
         2431  +  -static           do not do any dynamic linking of uninstalled libtool libraries
         2432  +  -static-libtool-libs
         2433  +                    do not do any dynamic linking of libtool libraries
         2434  +  -version-info CURRENT[:REVISION[:AGE]]
         2435  +                    specify library version info [each variable defaults to 0]
         2436  +  -weak LIBNAME     declare that the target provides the LIBNAME interface
         2437  +  -Wc,FLAG
         2438  +  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
         2439  +  -Wl,FLAG
         2440  +  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
         2441  +  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
         2442  +
         2443  +All other options (arguments beginning with \`-') are ignored.
         2444  +
         2445  +Every other argument is treated as a filename.  Files ending in \`.la' are
         2446  +treated as uninstalled libtool libraries, other files are standard or library
         2447  +object files.
         2448  +
         2449  +If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
         2450  +only library objects (\`.lo' files) may be specified, and \`-rpath' is
         2451  +required, except when creating a convenience library.
         2452  +
         2453  +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
         2454  +using \`ar' and \`ranlib', or on Windows using \`lib'.
         2455  +
         2456  +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
         2457  +is created, otherwise an executable program is created."
         2458  +        ;;
         2459  +
         2460  +      uninstall)
         2461  +        $ECHO \
         2462  +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
         2463  +
         2464  +Remove libraries from an installation directory.
         2465  +
         2466  +RM is the name of the program to use to delete files associated with each FILE
         2467  +(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
         2468  +to RM.
         2469  +
         2470  +If FILE is a libtool library, all the files associated with it are deleted.
         2471  +Otherwise, only FILE itself is deleted using RM."
         2472  +        ;;
         2473  +
         2474  +      *)
         2475  +        func_fatal_help "invalid operation mode \`$opt_mode'"
         2476  +        ;;
         2477  +    esac
         2478  +
         2479  +    echo
         2480  +    $ECHO "Try \`$progname --help' for more information about other modes."
         2481  +}
         2482  +
         2483  +# Now that we've collected a possible --mode arg, show help if necessary
         2484  +if $opt_help; then
         2485  +  if test "$opt_help" = :; then
         2486  +    func_mode_help
         2487  +  else
         2488  +    {
         2489  +      func_help noexit
         2490  +      for opt_mode in compile link execute install finish uninstall clean; do
         2491  +	func_mode_help
         2492  +      done
         2493  +    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
         2494  +    {
         2495  +      func_help noexit
         2496  +      for opt_mode in compile link execute install finish uninstall clean; do
         2497  +	echo
         2498  +	func_mode_help
         2499  +      done
         2500  +    } |
         2501  +    sed '1d
         2502  +      /^When reporting/,/^Report/{
         2503  +	H
         2504  +	d
         2505  +      }
         2506  +      $x
         2507  +      /information about other modes/d
         2508  +      /more detailed .*MODE/d
         2509  +      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
         2510  +  fi
         2511  +  exit $?
         2512  +fi
         2513  +
         2514  +
         2515  +# func_mode_execute arg...
         2516  +func_mode_execute ()
         2517  +{
         2518  +    $opt_debug
         2519  +    # The first argument is the command name.
         2520  +    cmd="$nonopt"
         2521  +    test -z "$cmd" && \
         2522  +      func_fatal_help "you must specify a COMMAND"
         2523  +
         2524  +    # Handle -dlopen flags immediately.
         2525  +    for file in $opt_dlopen; do
         2526  +      test -f "$file" \
         2527  +	|| func_fatal_help "\`$file' is not a file"
         2528  +
         2529  +      dir=
         2530  +      case $file in
         2531  +      *.la)
         2532  +	func_resolve_sysroot "$file"
         2533  +	file=$func_resolve_sysroot_result
         2534  +
         2535  +	# Check to see that this really is a libtool archive.
         2536  +	func_lalib_unsafe_p "$file" \
         2537  +	  || func_fatal_help "\`$lib' is not a valid libtool archive"
         2538  +
         2539  +	# Read the libtool library.
         2540  +	dlname=
         2541  +	library_names=
         2542  +	func_source "$file"
         2543  +
         2544  +	# Skip this library if it cannot be dlopened.
         2545  +	if test -z "$dlname"; then
         2546  +	  # Warn if it was a shared library.
         2547  +	  test -n "$library_names" && \
         2548  +	    func_warning "\`$file' was not linked with \`-export-dynamic'"
         2549  +	  continue
         2550  +	fi
         2551  +
         2552  +	func_dirname "$file" "" "."
         2553  +	dir="$func_dirname_result"
         2554  +
         2555  +	if test -f "$dir/$objdir/$dlname"; then
         2556  +	  func_append dir "/$objdir"
         2557  +	else
         2558  +	  if test ! -f "$dir/$dlname"; then
         2559  +	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
         2560  +	  fi
         2561  +	fi
         2562  +	;;
         2563  +
         2564  +      *.lo)
         2565  +	# Just add the directory containing the .lo file.
         2566  +	func_dirname "$file" "" "."
         2567  +	dir="$func_dirname_result"
         2568  +	;;
         2569  +
         2570  +      *)
         2571  +	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
         2572  +	continue
         2573  +	;;
         2574  +      esac
         2575  +
         2576  +      # Get the absolute pathname.
         2577  +      absdir=`cd "$dir" && pwd`
         2578  +      test -n "$absdir" && dir="$absdir"
         2579  +
         2580  +      # Now add the directory to shlibpath_var.
         2581  +      if eval "test -z \"\$$shlibpath_var\""; then
         2582  +	eval "$shlibpath_var=\"\$dir\""
         2583  +      else
         2584  +	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
         2585  +      fi
         2586  +    done
         2587  +
         2588  +    # This variable tells wrapper scripts just to set shlibpath_var
         2589  +    # rather than running their programs.
         2590  +    libtool_execute_magic="$magic"
         2591  +
         2592  +    # Check if any of the arguments is a wrapper script.
         2593  +    args=
         2594  +    for file
         2595  +    do
         2596  +      case $file in
         2597  +      -* | *.la | *.lo ) ;;
         2598  +      *)
         2599  +	# Do a test to see if this is really a libtool program.
         2600  +	if func_ltwrapper_script_p "$file"; then
         2601  +	  func_source "$file"
         2602  +	  # Transform arg to wrapped name.
         2603  +	  file="$progdir/$program"
         2604  +	elif func_ltwrapper_executable_p "$file"; then
         2605  +	  func_ltwrapper_scriptname "$file"
         2606  +	  func_source "$func_ltwrapper_scriptname_result"
         2607  +	  # Transform arg to wrapped name.
         2608  +	  file="$progdir/$program"
         2609  +	fi
         2610  +	;;
         2611  +      esac
         2612  +      # Quote arguments (to preserve shell metacharacters).
         2613  +      func_append_quoted args "$file"
         2614  +    done
         2615  +
         2616  +    if test "X$opt_dry_run" = Xfalse; then
         2617  +      if test -n "$shlibpath_var"; then
         2618  +	# Export the shlibpath_var.
         2619  +	eval "export $shlibpath_var"
         2620  +      fi
         2621  +
         2622  +      # Restore saved environment variables
         2623  +      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
         2624  +      do
         2625  +	eval "if test \"\${save_$lt_var+set}\" = set; then
         2626  +                $lt_var=\$save_$lt_var; export $lt_var
         2627  +	      else
         2628  +		$lt_unset $lt_var
         2629  +	      fi"
         2630  +      done
         2631  +
         2632  +      # Now prepare to actually exec the command.
         2633  +      exec_cmd="\$cmd$args"
         2634  +    else
         2635  +      # Display what would be done.
         2636  +      if test -n "$shlibpath_var"; then
         2637  +	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
         2638  +	echo "export $shlibpath_var"
         2639  +      fi
         2640  +      $ECHO "$cmd$args"
         2641  +      exit $EXIT_SUCCESS
         2642  +    fi
         2643  +}
         2644  +
         2645  +test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
         2646  +
         2647  +
         2648  +# func_mode_finish arg...
         2649  +func_mode_finish ()
         2650  +{
         2651  +    $opt_debug
         2652  +    libs=
         2653  +    libdirs=
         2654  +    admincmds=
         2655  +
         2656  +    for opt in "$nonopt" ${1+"$@"}
         2657  +    do
         2658  +      if test -d "$opt"; then
         2659  +	func_append libdirs " $opt"
         2660  +
         2661  +      elif test -f "$opt"; then
         2662  +	if func_lalib_unsafe_p "$opt"; then
         2663  +	  func_append libs " $opt"
         2664  +	else
         2665  +	  func_warning "\`$opt' is not a valid libtool archive"
         2666  +	fi
         2667  +
         2668  +      else
         2669  +	func_fatal_error "invalid argument \`$opt'"
         2670  +      fi
         2671  +    done
         2672  +
         2673  +    if test -n "$libs"; then
         2674  +      if test -n "$lt_sysroot"; then
         2675  +        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
         2676  +        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
         2677  +      else
         2678  +        sysroot_cmd=
         2679  +      fi
         2680  +
         2681  +      # Remove sysroot references
         2682  +      if $opt_dry_run; then
         2683  +        for lib in $libs; do
         2684  +          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
         2685  +        done
         2686  +      else
         2687  +        tmpdir=`func_mktempdir`
         2688  +        for lib in $libs; do
         2689  +	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
         2690  +	    > $tmpdir/tmp-la
         2691  +	  mv -f $tmpdir/tmp-la $lib
         2692  +	done
         2693  +        ${RM}r "$tmpdir"
         2694  +      fi
         2695  +    fi
         2696  +
         2697  +    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
         2698  +      for libdir in $libdirs; do
         2699  +	if test -n "$finish_cmds"; then
         2700  +	  # Do each command in the finish commands.
         2701  +	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
         2702  +'"$cmd"'"'
         2703  +	fi
         2704  +	if test -n "$finish_eval"; then
         2705  +	  # Do the single finish_eval.
         2706  +	  eval cmds=\"$finish_eval\"
         2707  +	  $opt_dry_run || eval "$cmds" || func_append admincmds "
         2708  +       $cmds"
         2709  +	fi
         2710  +      done
         2711  +    fi
         2712  +
         2713  +    # Exit here if they wanted silent mode.
         2714  +    $opt_silent && exit $EXIT_SUCCESS
         2715  +
         2716  +    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
         2717  +      echo "----------------------------------------------------------------------"
         2718  +      echo "Libraries have been installed in:"
         2719  +      for libdir in $libdirs; do
         2720  +	$ECHO "   $libdir"
         2721  +      done
         2722  +      echo
         2723  +      echo "If you ever happen to want to link against installed libraries"
         2724  +      echo "in a given directory, LIBDIR, you must either use libtool, and"
         2725  +      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
         2726  +      echo "flag during linking and do at least one of the following:"
         2727  +      if test -n "$shlibpath_var"; then
         2728  +	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
         2729  +	echo "     during execution"
         2730  +      fi
         2731  +      if test -n "$runpath_var"; then
         2732  +	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
         2733  +	echo "     during linking"
         2734  +      fi
         2735  +      if test -n "$hardcode_libdir_flag_spec"; then
         2736  +	libdir=LIBDIR
         2737  +	eval flag=\"$hardcode_libdir_flag_spec\"
         2738  +
         2739  +	$ECHO "   - use the \`$flag' linker flag"
         2740  +      fi
         2741  +      if test -n "$admincmds"; then
         2742  +	$ECHO "   - have your system administrator run these commands:$admincmds"
         2743  +      fi
         2744  +      if test -f /etc/ld.so.conf; then
         2745  +	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
         2746  +      fi
         2747  +      echo
         2748  +
         2749  +      echo "See any operating system documentation about shared libraries for"
         2750  +      case $host in
         2751  +	solaris2.[6789]|solaris2.1[0-9])
         2752  +	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
         2753  +	  echo "pages."
         2754  +	  ;;
         2755  +	*)
         2756  +	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
         2757  +	  ;;
         2758  +      esac
         2759  +      echo "----------------------------------------------------------------------"
         2760  +    fi
         2761  +    exit $EXIT_SUCCESS
         2762  +}
         2763  +
         2764  +test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
         2765  +
         2766  +
         2767  +# func_mode_install arg...
         2768  +func_mode_install ()
         2769  +{
         2770  +    $opt_debug
         2771  +    # There may be an optional sh(1) argument at the beginning of
         2772  +    # install_prog (especially on Windows NT).
         2773  +    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
         2774  +       # Allow the use of GNU shtool's install command.
         2775  +       case $nonopt in *shtool*) :;; *) false;; esac; then
         2776  +      # Aesthetically quote it.
         2777  +      func_quote_for_eval "$nonopt"
         2778  +      install_prog="$func_quote_for_eval_result "
         2779  +      arg=$1
         2780  +      shift
         2781  +    else
         2782  +      install_prog=
         2783  +      arg=$nonopt
         2784  +    fi
         2785  +
         2786  +    # The real first argument should be the name of the installation program.
         2787  +    # Aesthetically quote it.
         2788  +    func_quote_for_eval "$arg"
         2789  +    func_append install_prog "$func_quote_for_eval_result"
         2790  +    install_shared_prog=$install_prog
         2791  +    case " $install_prog " in
         2792  +      *[\\\ /]cp\ *) install_cp=: ;;
         2793  +      *) install_cp=false ;;
         2794  +    esac
         2795  +
         2796  +    # We need to accept at least all the BSD install flags.
         2797  +    dest=
         2798  +    files=
         2799  +    opts=
         2800  +    prev=
         2801  +    install_type=
         2802  +    isdir=no
         2803  +    stripme=
         2804  +    no_mode=:
         2805  +    for arg
         2806  +    do
         2807  +      arg2=
         2808  +      if test -n "$dest"; then
         2809  +	func_append files " $dest"
         2810  +	dest=$arg
         2811  +	continue
         2812  +      fi
         2813  +
         2814  +      case $arg in
         2815  +      -d) isdir=yes ;;
         2816  +      -f)
         2817  +	if $install_cp; then :; else
         2818  +	  prev=$arg
         2819  +	fi
         2820  +	;;
         2821  +      -g | -m | -o)
         2822  +	prev=$arg
         2823  +	;;
         2824  +      -s)
         2825  +	stripme=" -s"
         2826  +	continue
         2827  +	;;
         2828  +      -*)
         2829  +	;;
         2830  +      *)
         2831  +	# If the previous option needed an argument, then skip it.
         2832  +	if test -n "$prev"; then
         2833  +	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
         2834  +	    arg2=$install_override_mode
         2835  +	    no_mode=false
         2836  +	  fi
         2837  +	  prev=
         2838  +	else
         2839  +	  dest=$arg
         2840  +	  continue
         2841  +	fi
         2842  +	;;
         2843  +      esac
         2844  +
         2845  +      # Aesthetically quote the argument.
         2846  +      func_quote_for_eval "$arg"
         2847  +      func_append install_prog " $func_quote_for_eval_result"
         2848  +      if test -n "$arg2"; then
         2849  +	func_quote_for_eval "$arg2"
         2850  +      fi
         2851  +      func_append install_shared_prog " $func_quote_for_eval_result"
         2852  +    done
         2853  +
         2854  +    test -z "$install_prog" && \
         2855  +      func_fatal_help "you must specify an install program"
         2856  +
         2857  +    test -n "$prev" && \
         2858  +      func_fatal_help "the \`$prev' option requires an argument"
         2859  +
         2860  +    if test -n "$install_override_mode" && $no_mode; then
         2861  +      if $install_cp; then :; else
         2862  +	func_quote_for_eval "$install_override_mode"
         2863  +	func_append install_shared_prog " -m $func_quote_for_eval_result"
         2864  +      fi
         2865  +    fi
         2866  +
         2867  +    if test -z "$files"; then
         2868  +      if test -z "$dest"; then
         2869  +	func_fatal_help "no file or destination specified"
         2870  +      else
         2871  +	func_fatal_help "you must specify a destination"
         2872  +      fi
         2873  +    fi
         2874  +
         2875  +    # Strip any trailing slash from the destination.
         2876  +    func_stripname '' '/' "$dest"
         2877  +    dest=$func_stripname_result
         2878  +
         2879  +    # Check to see that the destination is a directory.
         2880  +    test -d "$dest" && isdir=yes
         2881  +    if test "$isdir" = yes; then
         2882  +      destdir="$dest"
         2883  +      destname=
         2884  +    else
         2885  +      func_dirname_and_basename "$dest" "" "."
         2886  +      destdir="$func_dirname_result"
         2887  +      destname="$func_basename_result"
         2888  +
         2889  +      # Not a directory, so check to see that there is only one file specified.
         2890  +      set dummy $files; shift
         2891  +      test "$#" -gt 1 && \
         2892  +	func_fatal_help "\`$dest' is not a directory"
         2893  +    fi
         2894  +    case $destdir in
         2895  +    [\\/]* | [A-Za-z]:[\\/]*) ;;
         2896  +    *)
         2897  +      for file in $files; do
         2898  +	case $file in
         2899  +	*.lo) ;;
         2900  +	*)
         2901  +	  func_fatal_help "\`$destdir' must be an absolute directory name"
         2902  +	  ;;
         2903  +	esac
         2904  +      done
         2905  +      ;;
         2906  +    esac
         2907  +
         2908  +    # This variable tells wrapper scripts just to set variables rather
         2909  +    # than running their programs.
         2910  +    libtool_install_magic="$magic"
         2911  +
         2912  +    staticlibs=
         2913  +    future_libdirs=
         2914  +    current_libdirs=
         2915  +    for file in $files; do
         2916  +
         2917  +      # Do each installation.
         2918  +      case $file in
         2919  +      *.$libext)
         2920  +	# Do the static libraries later.
         2921  +	func_append staticlibs " $file"
         2922  +	;;
         2923  +
         2924  +      *.la)
         2925  +	func_resolve_sysroot "$file"
         2926  +	file=$func_resolve_sysroot_result
         2927  +
         2928  +	# Check to see that this really is a libtool archive.
         2929  +	func_lalib_unsafe_p "$file" \
         2930  +	  || func_fatal_help "\`$file' is not a valid libtool archive"
         2931  +
         2932  +	library_names=
         2933  +	old_library=
         2934  +	relink_command=
         2935  +	func_source "$file"
         2936  +
         2937  +	# Add the libdir to current_libdirs if it is the destination.
         2938  +	if test "X$destdir" = "X$libdir"; then
         2939  +	  case "$current_libdirs " in
         2940  +	  *" $libdir "*) ;;
         2941  +	  *) func_append current_libdirs " $libdir" ;;
         2942  +	  esac
         2943  +	else
         2944  +	  # Note the libdir as a future libdir.
         2945  +	  case "$future_libdirs " in
         2946  +	  *" $libdir "*) ;;
         2947  +	  *) func_append future_libdirs " $libdir" ;;
         2948  +	  esac
         2949  +	fi
         2950  +
         2951  +	func_dirname "$file" "/" ""
         2952  +	dir="$func_dirname_result"
         2953  +	func_append dir "$objdir"
         2954  +
         2955  +	if test -n "$relink_command"; then
         2956  +	  # Determine the prefix the user has applied to our future dir.
         2957  +	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
         2958  +
         2959  +	  # Don't allow the user to place us outside of our expected
         2960  +	  # location b/c this prevents finding dependent libraries that
         2961  +	  # are installed to the same prefix.
         2962  +	  # At present, this check doesn't affect windows .dll's that
         2963  +	  # are installed into $libdir/../bin (currently, that works fine)
         2964  +	  # but it's something to keep an eye on.
         2965  +	  test "$inst_prefix_dir" = "$destdir" && \
         2966  +	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
         2967  +
         2968  +	  if test -n "$inst_prefix_dir"; then
         2969  +	    # Stick the inst_prefix_dir data into the link command.
         2970  +	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
         2971  +	  else
         2972  +	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
         2973  +	  fi
         2974  +
         2975  +	  func_warning "relinking \`$file'"
         2976  +	  func_show_eval "$relink_command" \
         2977  +	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
         2978  +	fi
         2979  +
         2980  +	# See the names of the shared library.
         2981  +	set dummy $library_names; shift
         2982  +	if test -n "$1"; then
         2983  +	  realname="$1"
         2984  +	  shift
         2985  +
         2986  +	  srcname="$realname"
         2987  +	  test -n "$relink_command" && srcname="$realname"T
         2988  +
         2989  +	  # Install the shared library and build the symlinks.
         2990  +	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
         2991  +	      'exit $?'
         2992  +	  tstripme="$stripme"
         2993  +	  case $host_os in
         2994  +	  cygwin* | mingw* | pw32* | cegcc*)
         2995  +	    case $realname in
         2996  +	    *.dll.a)
         2997  +	      tstripme=""
         2998  +	      ;;
         2999  +	    esac
         3000  +	    ;;
         3001  +	  esac
         3002  +	  if test -n "$tstripme" && test -n "$striplib"; then
         3003  +	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
         3004  +	  fi
         3005  +
         3006  +	  if test "$#" -gt 0; then
         3007  +	    # Delete the old symlinks, and create new ones.
         3008  +	    # Try `ln -sf' first, because the `ln' binary might depend on
         3009  +	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
         3010  +	    # so we also need to try rm && ln -s.
         3011  +	    for linkname
         3012  +	    do
         3013  +	      test "$linkname" != "$realname" \
         3014  +		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
         3015  +	    done
         3016  +	  fi
         3017  +
         3018  +	  # Do each command in the postinstall commands.
         3019  +	  lib="$destdir/$realname"
         3020  +	  func_execute_cmds "$postinstall_cmds" 'exit $?'
         3021  +	fi
         3022  +
         3023  +	# Install the pseudo-library for information purposes.
         3024  +	func_basename "$file"
         3025  +	name="$func_basename_result"
         3026  +	instname="$dir/$name"i
         3027  +	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
         3028  +
         3029  +	# Maybe install the static library, too.
         3030  +	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
         3031  +	;;
         3032  +
         3033  +      *.lo)
         3034  +	# Install (i.e. copy) a libtool object.
         3035  +
         3036  +	# Figure out destination file name, if it wasn't already specified.
         3037  +	if test -n "$destname"; then
         3038  +	  destfile="$destdir/$destname"
         3039  +	else
         3040  +	  func_basename "$file"
         3041  +	  destfile="$func_basename_result"
         3042  +	  destfile="$destdir/$destfile"
         3043  +	fi
         3044  +
         3045  +	# Deduce the name of the destination old-style object file.
         3046  +	case $destfile in
         3047  +	*.lo)
         3048  +	  func_lo2o "$destfile"
         3049  +	  staticdest=$func_lo2o_result
         3050  +	  ;;
         3051  +	*.$objext)
         3052  +	  staticdest="$destfile"
         3053  +	  destfile=
         3054  +	  ;;
         3055  +	*)
         3056  +	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
         3057  +	  ;;
         3058  +	esac
         3059  +
         3060  +	# Install the libtool object if requested.
         3061  +	test -n "$destfile" && \
         3062  +	  func_show_eval "$install_prog $file $destfile" 'exit $?'
         3063  +
         3064  +	# Install the old object if enabled.
         3065  +	if test "$build_old_libs" = yes; then
         3066  +	  # Deduce the name of the old-style object file.
         3067  +	  func_lo2o "$file"
         3068  +	  staticobj=$func_lo2o_result
         3069  +	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
         3070  +	fi
         3071  +	exit $EXIT_SUCCESS
         3072  +	;;
         3073  +
         3074  +      *)
         3075  +	# Figure out destination file name, if it wasn't already specified.
         3076  +	if test -n "$destname"; then
         3077  +	  destfile="$destdir/$destname"
         3078  +	else
         3079  +	  func_basename "$file"
         3080  +	  destfile="$func_basename_result"
         3081  +	  destfile="$destdir/$destfile"
         3082  +	fi
         3083  +
         3084  +	# If the file is missing, and there is a .exe on the end, strip it
         3085  +	# because it is most likely a libtool script we actually want to
         3086  +	# install
         3087  +	stripped_ext=""
         3088  +	case $file in
         3089  +	  *.exe)
         3090  +	    if test ! -f "$file"; then
         3091  +	      func_stripname '' '.exe' "$file"
         3092  +	      file=$func_stripname_result
         3093  +	      stripped_ext=".exe"
         3094  +	    fi
         3095  +	    ;;
         3096  +	esac
         3097  +
         3098  +	# Do a test to see if this is really a libtool program.
         3099  +	case $host in
         3100  +	*cygwin* | *mingw*)
         3101  +	    if func_ltwrapper_executable_p "$file"; then
         3102  +	      func_ltwrapper_scriptname "$file"
         3103  +	      wrapper=$func_ltwrapper_scriptname_result
         3104  +	    else
         3105  +	      func_stripname '' '.exe' "$file"
         3106  +	      wrapper=$func_stripname_result
         3107  +	    fi
         3108  +	    ;;
         3109  +	*)
         3110  +	    wrapper=$file
         3111  +	    ;;
         3112  +	esac
         3113  +	if func_ltwrapper_script_p "$wrapper"; then
         3114  +	  notinst_deplibs=
         3115  +	  relink_command=
         3116  +
         3117  +	  func_source "$wrapper"
         3118  +
         3119  +	  # Check the variables that should have been set.
         3120  +	  test -z "$generated_by_libtool_version" && \
         3121  +	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
         3122  +
         3123  +	  finalize=yes
         3124  +	  for lib in $notinst_deplibs; do
         3125  +	    # Check to see that each library is installed.
         3126  +	    libdir=
         3127  +	    if test -f "$lib"; then
         3128  +	      func_source "$lib"
         3129  +	    fi
         3130  +	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
         3131  +	    if test -n "$libdir" && test ! -f "$libfile"; then
         3132  +	      func_warning "\`$lib' has not been installed in \`$libdir'"
         3133  +	      finalize=no
         3134  +	    fi
         3135  +	  done
         3136  +
         3137  +	  relink_command=
         3138  +	  func_source "$wrapper"
         3139  +
         3140  +	  outputname=
         3141  +	  if test "$fast_install" = no && test -n "$relink_command"; then
         3142  +	    $opt_dry_run || {
         3143  +	      if test "$finalize" = yes; then
         3144  +	        tmpdir=`func_mktempdir`
         3145  +		func_basename "$file$stripped_ext"
         3146  +		file="$func_basename_result"
         3147  +	        outputname="$tmpdir/$file"
         3148  +	        # Replace the output file specification.
         3149  +	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
         3150  +
         3151  +	        $opt_silent || {
         3152  +	          func_quote_for_expand "$relink_command"
         3153  +		  eval "func_echo $func_quote_for_expand_result"
         3154  +	        }
         3155  +	        if eval "$relink_command"; then :
         3156  +	          else
         3157  +		  func_error "error: relink \`$file' with the above command before installing it"
         3158  +		  $opt_dry_run || ${RM}r "$tmpdir"
         3159  +		  continue
         3160  +	        fi
         3161  +	        file="$outputname"
         3162  +	      else
         3163  +	        func_warning "cannot relink \`$file'"
         3164  +	      fi
         3165  +	    }
         3166  +	  else
         3167  +	    # Install the binary that we compiled earlier.
         3168  +	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
         3169  +	  fi
         3170  +	fi
         3171  +
         3172  +	# remove .exe since cygwin /usr/bin/install will append another
         3173  +	# one anyway
         3174  +	case $install_prog,$host in
         3175  +	*/usr/bin/install*,*cygwin*)
         3176  +	  case $file:$destfile in
         3177  +	  *.exe:*.exe)
         3178  +	    # this is ok
         3179  +	    ;;
         3180  +	  *.exe:*)
         3181  +	    destfile=$destfile.exe
         3182  +	    ;;
         3183  +	  *:*.exe)
         3184  +	    func_stripname '' '.exe' "$destfile"
         3185  +	    destfile=$func_stripname_result
         3186  +	    ;;
         3187  +	  esac
         3188  +	  ;;
         3189  +	esac
         3190  +	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
         3191  +	$opt_dry_run || if test -n "$outputname"; then
         3192  +	  ${RM}r "$tmpdir"
         3193  +	fi
         3194  +	;;
         3195  +      esac
         3196  +    done
         3197  +
         3198  +    for file in $staticlibs; do
         3199  +      func_basename "$file"
         3200  +      name="$func_basename_result"
         3201  +
         3202  +      # Set up the ranlib parameters.
         3203  +      oldlib="$destdir/$name"
         3204  +
         3205  +      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
         3206  +
         3207  +      if test -n "$stripme" && test -n "$old_striplib"; then
         3208  +	func_show_eval "$old_striplib $oldlib" 'exit $?'
         3209  +      fi
         3210  +
         3211  +      # Do each command in the postinstall commands.
         3212  +      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
         3213  +    done
         3214  +
         3215  +    test -n "$future_libdirs" && \
         3216  +      func_warning "remember to run \`$progname --finish$future_libdirs'"
         3217  +
         3218  +    if test -n "$current_libdirs"; then
         3219  +      # Maybe just do a dry run.
         3220  +      $opt_dry_run && current_libdirs=" -n$current_libdirs"
         3221  +      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
         3222  +    else
         3223  +      exit $EXIT_SUCCESS
         3224  +    fi
         3225  +}
         3226  +
         3227  +test "$opt_mode" = install && func_mode_install ${1+"$@"}
         3228  +
         3229  +
         3230  +# func_generate_dlsyms outputname originator pic_p
         3231  +# Extract symbols from dlprefiles and create ${outputname}S.o with
         3232  +# a dlpreopen symbol table.
         3233  +func_generate_dlsyms ()
         3234  +{
         3235  +    $opt_debug
         3236  +    my_outputname="$1"
         3237  +    my_originator="$2"
         3238  +    my_pic_p="${3-no}"
         3239  +    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
         3240  +    my_dlsyms=
         3241  +
         3242  +    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
         3243  +      if test -n "$NM" && test -n "$global_symbol_pipe"; then
         3244  +	my_dlsyms="${my_outputname}S.c"
         3245  +      else
         3246  +	func_error "not configured to extract global symbols from dlpreopened files"
         3247  +      fi
         3248  +    fi
         3249  +
         3250  +    if test -n "$my_dlsyms"; then
         3251  +      case $my_dlsyms in
         3252  +      "") ;;
         3253  +      *.c)
         3254  +	# Discover the nlist of each of the dlfiles.
         3255  +	nlist="$output_objdir/${my_outputname}.nm"
         3256  +
         3257  +	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
         3258  +
         3259  +	# Parse the name list into a source file.
         3260  +	func_verbose "creating $output_objdir/$my_dlsyms"
         3261  +
         3262  +	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
         3263  +/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
         3264  +/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
         3265  +
         3266  +#ifdef __cplusplus
         3267  +extern \"C\" {
         3268  +#endif
         3269  +
         3270  +#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
         3271  +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
         3272  +#endif
         3273  +
         3274  +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
         3275  +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
         3276  +/* DATA imports from DLLs on WIN32 con't be const, because runtime
         3277  +   relocations are performed -- see ld's documentation on pseudo-relocs.  */
         3278  +# define LT_DLSYM_CONST
         3279  +#elif defined(__osf__)
         3280  +/* This system does not cope well with relocations in const data.  */
         3281  +# define LT_DLSYM_CONST
         3282  +#else
         3283  +# define LT_DLSYM_CONST const
         3284  +#endif
         3285  +
         3286  +/* External symbol declarations for the compiler. */\
         3287  +"
         3288  +
         3289  +	if test "$dlself" = yes; then
         3290  +	  func_verbose "generating symbol list for \`$output'"
         3291  +
         3292  +	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
         3293  +
         3294  +	  # Add our own program objects to the symbol list.
         3295  +	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
         3296  +	  for progfile in $progfiles; do
         3297  +	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
         3298  +	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
         3299  +	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
         3300  +	  done
         3301  +
         3302  +	  if test -n "$exclude_expsyms"; then
         3303  +	    $opt_dry_run || {
         3304  +	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
         3305  +	      eval '$MV "$nlist"T "$nlist"'
         3306  +	    }
         3307  +	  fi
         3308  +
         3309  +	  if test -n "$export_symbols_regex"; then
         3310  +	    $opt_dry_run || {
         3311  +	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
         3312  +	      eval '$MV "$nlist"T "$nlist"'
         3313  +	    }
         3314  +	  fi
         3315  +
         3316  +	  # Prepare the list of exported symbols
         3317  +	  if test -z "$export_symbols"; then
         3318  +	    export_symbols="$output_objdir/$outputname.exp"
         3319  +	    $opt_dry_run || {
         3320  +	      $RM $export_symbols
         3321  +	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
         3322  +	      case $host in
         3323  +	      *cygwin* | *mingw* | *cegcc* )
         3324  +                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
         3325  +                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
         3326  +	        ;;
         3327  +	      esac
         3328  +	    }
         3329  +	  else
         3330  +	    $opt_dry_run || {
         3331  +	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
         3332  +	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
         3333  +	      eval '$MV "$nlist"T "$nlist"'
         3334  +	      case $host in
         3335  +	        *cygwin* | *mingw* | *cegcc* )
         3336  +	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
         3337  +	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
         3338  +	          ;;
         3339  +	      esac
         3340  +	    }
         3341  +	  fi
         3342  +	fi
         3343  +
         3344  +	for dlprefile in $dlprefiles; do
         3345  +	  func_verbose "extracting global C symbols from \`$dlprefile'"
         3346  +	  func_basename "$dlprefile"
         3347  +	  name="$func_basename_result"
         3348  +          case $host in
         3349  +	    *cygwin* | *mingw* | *cegcc* )
         3350  +	      # if an import library, we need to obtain dlname
         3351  +	      if func_win32_import_lib_p "$dlprefile"; then
         3352  +	        func_tr_sh "$dlprefile"
         3353  +	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
         3354  +	        dlprefile_dlbasename=""
         3355  +	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
         3356  +	          # Use subshell, to avoid clobbering current variable values
         3357  +	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
         3358  +	          if test -n "$dlprefile_dlname" ; then
         3359  +	            func_basename "$dlprefile_dlname"
         3360  +	            dlprefile_dlbasename="$func_basename_result"
         3361  +	          else
         3362  +	            # no lafile. user explicitly requested -dlpreopen <import library>.
         3363  +	            $sharedlib_from_linklib_cmd "$dlprefile"
         3364  +	            dlprefile_dlbasename=$sharedlib_from_linklib_result
         3365  +	          fi
         3366  +	        fi
         3367  +	        $opt_dry_run || {
         3368  +	          if test -n "$dlprefile_dlbasename" ; then
         3369  +	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
         3370  +	          else
         3371  +	            func_warning "Could not compute DLL name from $name"
         3372  +	            eval '$ECHO ": $name " >> "$nlist"'
         3373  +	          fi
         3374  +	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
         3375  +	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
         3376  +	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
         3377  +	        }
         3378  +	      else # not an import lib
         3379  +	        $opt_dry_run || {
         3380  +	          eval '$ECHO ": $name " >> "$nlist"'
         3381  +	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
         3382  +	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
         3383  +	        }
         3384  +	      fi
         3385  +	    ;;
         3386  +	    *)
         3387  +	      $opt_dry_run || {
         3388  +	        eval '$ECHO ": $name " >> "$nlist"'
         3389  +	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
         3390  +	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
         3391  +	      }
         3392  +	    ;;
         3393  +          esac
         3394  +	done
         3395  +
         3396  +	$opt_dry_run || {
         3397  +	  # Make sure we have at least an empty file.
         3398  +	  test -f "$nlist" || : > "$nlist"
         3399  +
         3400  +	  if test -n "$exclude_expsyms"; then
         3401  +	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
         3402  +	    $MV "$nlist"T "$nlist"
         3403  +	  fi
         3404  +
         3405  +	  # Try sorting and uniquifying the output.
         3406  +	  if $GREP -v "^: " < "$nlist" |
         3407  +	      if sort -k 3 </dev/null >/dev/null 2>&1; then
         3408  +		sort -k 3
         3409  +	      else
         3410  +		sort +2
         3411  +	      fi |
         3412  +	      uniq > "$nlist"S; then
         3413  +	    :
         3414  +	  else
         3415  +	    $GREP -v "^: " < "$nlist" > "$nlist"S
         3416  +	  fi
         3417  +
         3418  +	  if test -f "$nlist"S; then
         3419  +	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
         3420  +	  else
         3421  +	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
         3422  +	  fi
         3423  +
         3424  +	  echo >> "$output_objdir/$my_dlsyms" "\
         3425  +
         3426  +/* The mapping between symbol names and symbols.  */
         3427  +typedef struct {
         3428  +  const char *name;
         3429  +  void *address;
         3430  +} lt_dlsymlist;
         3431  +extern LT_DLSYM_CONST lt_dlsymlist
         3432  +lt_${my_prefix}_LTX_preloaded_symbols[];
         3433  +LT_DLSYM_CONST lt_dlsymlist
         3434  +lt_${my_prefix}_LTX_preloaded_symbols[] =
         3435  +{\
         3436  +  { \"$my_originator\", (void *) 0 },"
         3437  +
         3438  +	  case $need_lib_prefix in
         3439  +	  no)
         3440  +	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
         3441  +	    ;;
         3442  +	  *)
         3443  +	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
         3444  +	    ;;
         3445  +	  esac
         3446  +	  echo >> "$output_objdir/$my_dlsyms" "\
         3447  +  {0, (void *) 0}
         3448  +};
         3449  +
         3450  +/* This works around a problem in FreeBSD linker */
         3451  +#ifdef FREEBSD_WORKAROUND
         3452  +static const void *lt_preloaded_setup() {
         3453  +  return lt_${my_prefix}_LTX_preloaded_symbols;
         3454  +}
         3455  +#endif
         3456  +
         3457  +#ifdef __cplusplus
         3458  +}
         3459  +#endif\
         3460  +"
         3461  +	} # !$opt_dry_run
         3462  +
         3463  +	pic_flag_for_symtable=
         3464  +	case "$compile_command " in
         3465  +	*" -static "*) ;;
         3466  +	*)
         3467  +	  case $host in
         3468  +	  # compiling the symbol table file with pic_flag works around
         3469  +	  # a FreeBSD bug that causes programs to crash when -lm is
         3470  +	  # linked before any other PIC object.  But we must not use
         3471  +	  # pic_flag when linking with -static.  The problem exists in
         3472  +	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
         3473  +	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
         3474  +	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
         3475  +	  *-*-hpux*)
         3476  +	    pic_flag_for_symtable=" $pic_flag"  ;;
         3477  +	  *)
         3478  +	    if test "X$my_pic_p" != Xno; then
         3479  +	      pic_flag_for_symtable=" $pic_flag"
         3480  +	    fi
         3481  +	    ;;
         3482  +	  esac
         3483  +	  ;;
         3484  +	esac
         3485  +	symtab_cflags=
         3486  +	for arg in $LTCFLAGS; do
         3487  +	  case $arg in
         3488  +	  -pie | -fpie | -fPIE) ;;
         3489  +	  *) func_append symtab_cflags " $arg" ;;
         3490  +	  esac
         3491  +	done
         3492  +
         3493  +	# Now compile the dynamic symbol file.
         3494  +	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
         3495  +
         3496  +	# Clean up the generated files.
         3497  +	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
         3498  +
         3499  +	# Transform the symbol file into the correct name.
         3500  +	symfileobj="$output_objdir/${my_outputname}S.$objext"
         3501  +	case $host in
         3502  +	*cygwin* | *mingw* | *cegcc* )
         3503  +	  if test -f "$output_objdir/$my_outputname.def"; then
         3504  +	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
         3505  +	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
         3506  +	  else
         3507  +	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
         3508  +	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
         3509  +	  fi
         3510  +	  ;;
         3511  +	*)
         3512  +	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
         3513  +	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
         3514  +	  ;;
         3515  +	esac
         3516  +	;;
         3517  +      *)
         3518  +	func_fatal_error "unknown suffix for \`$my_dlsyms'"
         3519  +	;;
         3520  +      esac
         3521  +    else
         3522  +      # We keep going just in case the user didn't refer to
         3523  +      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
         3524  +      # really was required.
         3525  +
         3526  +      # Nullify the symbol file.
         3527  +      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
         3528  +      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
         3529  +    fi
         3530  +}
         3531  +
         3532  +# func_win32_libid arg
         3533  +# return the library type of file 'arg'
         3534  +#
         3535  +# Need a lot of goo to handle *both* DLLs and import libs
         3536  +# Has to be a shell function in order to 'eat' the argument
         3537  +# that is supplied when $file_magic_command is called.
         3538  +# Despite the name, also deal with 64 bit binaries.
         3539  +func_win32_libid ()
         3540  +{
         3541  +  $opt_debug
         3542  +  win32_libid_type="unknown"
         3543  +  win32_fileres=`file -L $1 2>/dev/null`
         3544  +  case $win32_fileres in
         3545  +  *ar\ archive\ import\ library*) # definitely import
         3546  +    win32_libid_type="x86 archive import"
         3547  +    ;;
         3548  +  *ar\ archive*) # could be an import, or static
         3549  +    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
         3550  +    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
         3551  +       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
         3552  +      func_to_tool_file "$1" func_convert_file_msys_to_w32
         3553  +      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
         3554  +	$SED -n -e '
         3555  +	    1,100{
         3556  +		/ I /{
         3557  +		    s,.*,import,
         3558  +		    p
         3559  +		    q
         3560  +		}
         3561  +	    }'`
         3562  +      case $win32_nmres in
         3563  +      import*)  win32_libid_type="x86 archive import";;
         3564  +      *)        win32_libid_type="x86 archive static";;
         3565  +      esac
         3566  +    fi
         3567  +    ;;
         3568  +  *DLL*)
         3569  +    win32_libid_type="x86 DLL"
         3570  +    ;;
         3571  +  *executable*) # but shell scripts are "executable" too...
         3572  +    case $win32_fileres in
         3573  +    *MS\ Windows\ PE\ Intel*)
         3574  +      win32_libid_type="x86 DLL"
         3575  +      ;;
         3576  +    esac
         3577  +    ;;
         3578  +  esac
         3579  +  $ECHO "$win32_libid_type"
         3580  +}
         3581  +
         3582  +# func_cygming_dll_for_implib ARG
         3583  +#
         3584  +# Platform-specific function to extract the
         3585  +# name of the DLL associated with the specified
         3586  +# import library ARG.
         3587  +# Invoked by eval'ing the libtool variable
         3588  +#    $sharedlib_from_linklib_cmd
         3589  +# Result is available in the variable
         3590  +#    $sharedlib_from_linklib_result
         3591  +func_cygming_dll_for_implib ()
         3592  +{
         3593  +  $opt_debug
         3594  +  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
         3595  +}
         3596  +
         3597  +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
         3598  +#
         3599  +# The is the core of a fallback implementation of a
         3600  +# platform-specific function to extract the name of the
         3601  +# DLL associated with the specified import library LIBNAME.
         3602  +#
         3603  +# SECTION_NAME is either .idata$6 or .idata$7, depending
         3604  +# on the platform and compiler that created the implib.
         3605  +#
         3606  +# Echos the name of the DLL associated with the
         3607  +# specified import library.
         3608  +func_cygming_dll_for_implib_fallback_core ()
         3609  +{
         3610  +  $opt_debug
         3611  +  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
         3612  +  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
         3613  +    $SED '/^Contents of section '"$match_literal"':/{
         3614  +      # Place marker at beginning of archive member dllname section
         3615  +      s/.*/====MARK====/
         3616  +      p
         3617  +      d
         3618  +    }
         3619  +    # These lines can sometimes be longer than 43 characters, but
         3620  +    # are always uninteresting
         3621  +    /:[	 ]*file format pe[i]\{,1\}-/d
         3622  +    /^In archive [^:]*:/d
         3623  +    # Ensure marker is printed
         3624  +    /^====MARK====/p
         3625  +    # Remove all lines with less than 43 characters
         3626  +    /^.\{43\}/!d
         3627  +    # From remaining lines, remove first 43 characters
         3628  +    s/^.\{43\}//' |
         3629  +    $SED -n '
         3630  +      # Join marker and all lines until next marker into a single line
         3631  +      /^====MARK====/ b para
         3632  +      H
         3633  +      $ b para
         3634  +      b
         3635  +      :para
         3636  +      x
         3637  +      s/\n//g
         3638  +      # Remove the marker
         3639  +      s/^====MARK====//
         3640  +      # Remove trailing dots and whitespace
         3641  +      s/[\. \t]*$//
         3642  +      # Print
         3643  +      /./p' |
         3644  +    # we now have a list, one entry per line, of the stringified
         3645  +    # contents of the appropriate section of all members of the
         3646  +    # archive which possess that section. Heuristic: eliminate
         3647  +    # all those which have a first or second character that is
         3648  +    # a '.' (that is, objdump's representation of an unprintable
         3649  +    # character.) This should work for all archives with less than
         3650  +    # 0x302f exports -- but will fail for DLLs whose name actually
         3651  +    # begins with a literal '.' or a single character followed by
         3652  +    # a '.'.
         3653  +    #
         3654  +    # Of those that remain, print the first one.
         3655  +    $SED -e '/^\./d;/^.\./d;q'
         3656  +}
         3657  +
         3658  +# func_cygming_gnu_implib_p ARG
         3659  +# This predicate returns with zero status (TRUE) if
         3660  +# ARG is a GNU/binutils-style import library. Returns
         3661  +# with nonzero status (FALSE) otherwise.
         3662  +func_cygming_gnu_implib_p ()
         3663  +{
         3664  +  $opt_debug
         3665  +  func_to_tool_file "$1" func_convert_file_msys_to_w32
         3666  +  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
         3667  +  test -n "$func_cygming_gnu_implib_tmp"
         3668  +}
         3669  +
         3670  +# func_cygming_ms_implib_p ARG
         3671  +# This predicate returns with zero status (TRUE) if
         3672  +# ARG is an MS-style import library. Returns
         3673  +# with nonzero status (FALSE) otherwise.
         3674  +func_cygming_ms_implib_p ()
         3675  +{
         3676  +  $opt_debug
         3677  +  func_to_tool_file "$1" func_convert_file_msys_to_w32
         3678  +  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
         3679  +  test -n "$func_cygming_ms_implib_tmp"
         3680  +}
         3681  +
         3682  +# func_cygming_dll_for_implib_fallback ARG
         3683  +# Platform-specific function to extract the
         3684  +# name of the DLL associated with the specified
         3685  +# import library ARG.
         3686  +#
         3687  +# This fallback implementation is for use when $DLLTOOL
         3688  +# does not support the --identify-strict option.
         3689  +# Invoked by eval'ing the libtool variable
         3690  +#    $sharedlib_from_linklib_cmd
         3691  +# Result is available in the variable
         3692  +#    $sharedlib_from_linklib_result
         3693  +func_cygming_dll_for_implib_fallback ()
         3694  +{
         3695  +  $opt_debug
         3696  +  if func_cygming_gnu_implib_p "$1" ; then
         3697  +    # binutils import library
         3698  +    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
         3699  +  elif func_cygming_ms_implib_p "$1" ; then
         3700  +    # ms-generated import library
         3701  +    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
         3702  +  else
         3703  +    # unknown
         3704  +    sharedlib_from_linklib_result=""
         3705  +  fi
         3706  +}
         3707  +
         3708  +
         3709  +# func_extract_an_archive dir oldlib
         3710  +func_extract_an_archive ()
         3711  +{
         3712  +    $opt_debug
         3713  +    f_ex_an_ar_dir="$1"; shift
         3714  +    f_ex_an_ar_oldlib="$1"
         3715  +    if test "$lock_old_archive_extraction" = yes; then
         3716  +      lockfile=$f_ex_an_ar_oldlib.lock
         3717  +      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
         3718  +	func_echo "Waiting for $lockfile to be removed"
         3719  +	sleep 2
         3720  +      done
         3721  +    fi
         3722  +    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
         3723  +		   'stat=$?; rm -f "$lockfile"; exit $stat'
         3724  +    if test "$lock_old_archive_extraction" = yes; then
         3725  +      $opt_dry_run || rm -f "$lockfile"
         3726  +    fi
         3727  +    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
         3728  +     :
         3729  +    else
         3730  +      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
         3731  +    fi
         3732  +}
         3733  +
         3734  +
         3735  +# func_extract_archives gentop oldlib ...
         3736  +func_extract_archives ()
         3737  +{
         3738  +    $opt_debug
         3739  +    my_gentop="$1"; shift
         3740  +    my_oldlibs=${1+"$@"}
         3741  +    my_oldobjs=""
         3742  +    my_xlib=""
         3743  +    my_xabs=""
         3744  +    my_xdir=""
         3745  +
         3746  +    for my_xlib in $my_oldlibs; do
         3747  +      # Extract the objects.
         3748  +      case $my_xlib in
         3749  +	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
         3750  +	*) my_xabs=`pwd`"/$my_xlib" ;;
         3751  +      esac
         3752  +      func_basename "$my_xlib"
         3753  +      my_xlib="$func_basename_result"
         3754  +      my_xlib_u=$my_xlib
         3755  +      while :; do
         3756  +        case " $extracted_archives " in
         3757  +	*" $my_xlib_u "*)
         3758  +	  func_arith $extracted_serial + 1
         3759  +	  extracted_serial=$func_arith_result
         3760  +	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
         3761  +	*) break ;;
         3762  +	esac
         3763  +      done
         3764  +      extracted_archives="$extracted_archives $my_xlib_u"
         3765  +      my_xdir="$my_gentop/$my_xlib_u"
         3766  +
         3767  +      func_mkdir_p "$my_xdir"
         3768  +
         3769  +      case $host in
         3770  +      *-darwin*)
         3771  +	func_verbose "Extracting $my_xabs"
         3772  +	# Do not bother doing anything if just a dry run
         3773  +	$opt_dry_run || {
         3774  +	  darwin_orig_dir=`pwd`
         3775  +	  cd $my_xdir || exit $?
         3776  +	  darwin_archive=$my_xabs
         3777  +	  darwin_curdir=`pwd`
         3778  +	  darwin_base_archive=`basename "$darwin_archive"`
         3779  +	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
         3780  +	  if test -n "$darwin_arches"; then
         3781  +	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
         3782  +	    darwin_arch=
         3783  +	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
         3784  +	    for darwin_arch in  $darwin_arches ; do
         3785  +	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
         3786  +	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
         3787  +	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
         3788  +	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
         3789  +	      cd "$darwin_curdir"
         3790  +	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
         3791  +	    done # $darwin_arches
         3792  +            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
         3793  +	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
         3794  +	    darwin_file=
         3795  +	    darwin_files=
         3796  +	    for darwin_file in $darwin_filelist; do
         3797  +	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
         3798  +	      $LIPO -create -output "$darwin_file" $darwin_files
         3799  +	    done # $darwin_filelist
         3800  +	    $RM -rf unfat-$$
         3801  +	    cd "$darwin_orig_dir"
         3802  +	  else
         3803  +	    cd $darwin_orig_dir
         3804  +	    func_extract_an_archive "$my_xdir" "$my_xabs"
         3805  +	  fi # $darwin_arches
         3806  +	} # !$opt_dry_run
         3807  +	;;
         3808  +      *)
         3809  +        func_extract_an_archive "$my_xdir" "$my_xabs"
         3810  +	;;
         3811  +      esac
         3812  +      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
         3813  +    done
         3814  +
         3815  +    func_extract_archives_result="$my_oldobjs"
         3816  +}
         3817  +
         3818  +
         3819  +# func_emit_wrapper [arg=no]
         3820  +#
         3821  +# Emit a libtool wrapper script on stdout.
         3822  +# Don't directly open a file because we may want to
         3823  +# incorporate the script contents within a cygwin/mingw
         3824  +# wrapper executable.  Must ONLY be called from within
         3825  +# func_mode_link because it depends on a number of variables
         3826  +# set therein.
         3827  +#
         3828  +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
         3829  +# variable will take.  If 'yes', then the emitted script
         3830  +# will assume that the directory in which it is stored is
         3831  +# the $objdir directory.  This is a cygwin/mingw-specific
         3832  +# behavior.
         3833  +func_emit_wrapper ()
         3834  +{
         3835  +	func_emit_wrapper_arg1=${1-no}
         3836  +
         3837  +	$ECHO "\
         3838  +#! $SHELL
         3839  +
         3840  +# $output - temporary wrapper script for $objdir/$outputname
         3841  +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
         3842  +#
         3843  +# The $output program cannot be directly executed until all the libtool
         3844  +# libraries that it depends on are installed.
         3845  +#
         3846  +# This wrapper script should never be moved out of the build directory.
         3847  +# If it is, it will not operate correctly.
         3848  +
         3849  +# Sed substitution that helps us do robust quoting.  It backslashifies
         3850  +# metacharacters that are still active within double-quoted strings.
         3851  +sed_quote_subst='$sed_quote_subst'
         3852  +
         3853  +# Be Bourne compatible
         3854  +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
         3855  +  emulate sh
         3856  +  NULLCMD=:
         3857  +  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
         3858  +  # is contrary to our usage.  Disable this feature.
         3859  +  alias -g '\${1+\"\$@\"}'='\"\$@\"'
         3860  +  setopt NO_GLOB_SUBST
         3861  +else
         3862  +  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
         3863  +fi
         3864  +BIN_SH=xpg4; export BIN_SH # for Tru64
         3865  +DUALCASE=1; export DUALCASE # for MKS sh
         3866  +
         3867  +# The HP-UX ksh and POSIX shell print the target directory to stdout
         3868  +# if CDPATH is set.
         3869  +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
         3870  +
         3871  +relink_command=\"$relink_command\"
         3872  +
         3873  +# This environment variable determines our operation mode.
         3874  +if test \"\$libtool_install_magic\" = \"$magic\"; then
         3875  +  # install mode needs the following variables:
         3876  +  generated_by_libtool_version='$macro_version'
         3877  +  notinst_deplibs='$notinst_deplibs'
         3878  +else
         3879  +  # When we are sourced in execute mode, \$file and \$ECHO are already set.
         3880  +  if test \"\$libtool_execute_magic\" != \"$magic\"; then
         3881  +    file=\"\$0\""
         3882  +
         3883  +    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
         3884  +    $ECHO "\
         3885  +
         3886  +# A function that is used when there is no print builtin or printf.
         3887  +func_fallback_echo ()
         3888  +{
         3889  +  eval 'cat <<_LTECHO_EOF
         3890  +\$1
         3891  +_LTECHO_EOF'
         3892  +}
         3893  +    ECHO=\"$qECHO\"
         3894  +  fi
         3895  +
         3896  +# Very basic option parsing. These options are (a) specific to
         3897  +# the libtool wrapper, (b) are identical between the wrapper
         3898  +# /script/ and the wrapper /executable/ which is used only on
         3899  +# windows platforms, and (c) all begin with the string "--lt-"
         3900  +# (application programs are unlikely to have options which match
         3901  +# this pattern).
         3902  +#
         3903  +# There are only two supported options: --lt-debug and
         3904  +# --lt-dump-script. There is, deliberately, no --lt-help.
         3905  +#
         3906  +# The first argument to this parsing function should be the
         3907  +# script's $0 value, followed by "$@".
         3908  +lt_option_debug=
         3909  +func_parse_lt_options ()
         3910  +{
         3911  +  lt_script_arg0=\$0
         3912  +  shift
         3913  +  for lt_opt
         3914  +  do
         3915  +    case \"\$lt_opt\" in
         3916  +    --lt-debug) lt_option_debug=1 ;;
         3917  +    --lt-dump-script)
         3918  +        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
         3919  +        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
         3920  +        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
         3921  +        cat \"\$lt_dump_D/\$lt_dump_F\"
         3922  +        exit 0
         3923  +      ;;
         3924  +    --lt-*)
         3925  +        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
         3926  +        exit 1
         3927  +      ;;
         3928  +    esac
         3929  +  done
         3930  +
         3931  +  # Print the debug banner immediately:
         3932  +  if test -n \"\$lt_option_debug\"; then
         3933  +    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
         3934  +  fi
         3935  +}
         3936  +
         3937  +# Used when --lt-debug. Prints its arguments to stdout
         3938  +# (redirection is the responsibility of the caller)
         3939  +func_lt_dump_args ()
         3940  +{
         3941  +  lt_dump_args_N=1;
         3942  +  for lt_arg
         3943  +  do
         3944  +    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
         3945  +    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
         3946  +  done
         3947  +}
         3948  +
         3949  +# Core function for launching the target application
         3950  +func_exec_program_core ()
         3951  +{
         3952  +"
         3953  +  case $host in
         3954  +  # Backslashes separate directories on plain windows
         3955  +  *-*-mingw | *-*-os2* | *-cegcc*)
         3956  +    $ECHO "\
         3957  +      if test -n \"\$lt_option_debug\"; then
         3958  +        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
         3959  +        func_lt_dump_args \${1+\"\$@\"} 1>&2
         3960  +      fi
         3961  +      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
         3962  +"
         3963  +    ;;
         3964  +
         3965  +  *)
         3966  +    $ECHO "\
         3967  +      if test -n \"\$lt_option_debug\"; then
         3968  +        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
         3969  +        func_lt_dump_args \${1+\"\$@\"} 1>&2
         3970  +      fi
         3971  +      exec \"\$progdir/\$program\" \${1+\"\$@\"}
         3972  +"
         3973  +    ;;
         3974  +  esac
         3975  +  $ECHO "\
         3976  +      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
         3977  +      exit 1
         3978  +}
         3979  +
         3980  +# A function to encapsulate launching the target application
         3981  +# Strips options in the --lt-* namespace from \$@ and
         3982  +# launches target application with the remaining arguments.
         3983  +func_exec_program ()
         3984  +{
         3985  +  for lt_wr_arg
         3986  +  do
         3987  +    case \$lt_wr_arg in
         3988  +    --lt-*) ;;
         3989  +    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
         3990  +    esac
         3991  +    shift
         3992  +  done
         3993  +  func_exec_program_core \${1+\"\$@\"}
         3994  +}
         3995  +
         3996  +  # Parse options
         3997  +  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
         3998  +
         3999  +  # Find the directory that this script lives in.
         4000  +  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
         4001  +  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
         4002  +
         4003  +  # Follow symbolic links until we get to the real thisdir.
         4004  +  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
         4005  +  while test -n \"\$file\"; do
         4006  +    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
         4007  +
         4008  +    # If there was a directory component, then change thisdir.
         4009  +    if test \"x\$destdir\" != \"x\$file\"; then
         4010  +      case \"\$destdir\" in
         4011  +      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
         4012  +      *) thisdir=\"\$thisdir/\$destdir\" ;;
         4013  +      esac
         4014  +    fi
         4015  +
         4016  +    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
         4017  +    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
         4018  +  done
         4019  +
         4020  +  # Usually 'no', except on cygwin/mingw when embedded into
         4021  +  # the cwrapper.
         4022  +  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
         4023  +  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
         4024  +    # special case for '.'
         4025  +    if test \"\$thisdir\" = \".\"; then
         4026  +      thisdir=\`pwd\`
         4027  +    fi
         4028  +    # remove .libs from thisdir
         4029  +    case \"\$thisdir\" in
         4030  +    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
         4031  +    $objdir )   thisdir=. ;;
         4032  +    esac
         4033  +  fi
         4034  +
         4035  +  # Try to get the absolute directory name.
         4036  +  absdir=\`cd \"\$thisdir\" && pwd\`
         4037  +  test -n \"\$absdir\" && thisdir=\"\$absdir\"
         4038  +"
         4039  +
         4040  +	if test "$fast_install" = yes; then
         4041  +	  $ECHO "\
         4042  +  program=lt-'$outputname'$exeext
         4043  +  progdir=\"\$thisdir/$objdir\"
         4044  +
         4045  +  if test ! -f \"\$progdir/\$program\" ||
         4046  +     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
         4047  +       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
         4048  +
         4049  +    file=\"\$\$-\$program\"
         4050  +
         4051  +    if test ! -d \"\$progdir\"; then
         4052  +      $MKDIR \"\$progdir\"
         4053  +    else
         4054  +      $RM \"\$progdir/\$file\"
         4055  +    fi"
         4056  +
         4057  +	  $ECHO "\
         4058  +
         4059  +    # relink executable if necessary
         4060  +    if test -n \"\$relink_command\"; then
         4061  +      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
         4062  +      else
         4063  +	$ECHO \"\$relink_command_output\" >&2
         4064  +	$RM \"\$progdir/\$file\"
         4065  +	exit 1
         4066  +      fi
         4067  +    fi
         4068  +
         4069  +    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
         4070  +    { $RM \"\$progdir/\$program\";
         4071  +      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
         4072  +    $RM \"\$progdir/\$file\"
         4073  +  fi"
         4074  +	else
         4075  +	  $ECHO "\
         4076  +  program='$outputname'
         4077  +  progdir=\"\$thisdir/$objdir\"
         4078  +"
         4079  +	fi
         4080  +
         4081  +	$ECHO "\
         4082  +
         4083  +  if test -f \"\$progdir/\$program\"; then"
         4084  +
         4085  +	# fixup the dll searchpath if we need to.
         4086  +	#
         4087  +	# Fix the DLL searchpath if we need to.  Do this before prepending
         4088  +	# to shlibpath, because on Windows, both are PATH and uninstalled
         4089  +	# libraries must come first.
         4090  +	if test -n "$dllsearchpath"; then
         4091  +	  $ECHO "\
         4092  +    # Add the dll search path components to the executable PATH
         4093  +    PATH=$dllsearchpath:\$PATH
         4094  +"
         4095  +	fi
         4096  +
         4097  +	# Export our shlibpath_var if we have one.
         4098  +	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
         4099  +	  $ECHO "\
         4100  +    # Add our own library path to $shlibpath_var
         4101  +    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
         4102  +
         4103  +    # Some systems cannot cope with colon-terminated $shlibpath_var
         4104  +    # The second colon is a workaround for a bug in BeOS R4 sed
         4105  +    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
         4106  +
         4107  +    export $shlibpath_var
         4108  +"
         4109  +	fi
         4110  +
         4111  +	$ECHO "\
         4112  +    if test \"\$libtool_execute_magic\" != \"$magic\"; then
         4113  +      # Run the actual program with our arguments.
         4114  +      func_exec_program \${1+\"\$@\"}
         4115  +    fi
         4116  +  else
         4117  +    # The program doesn't exist.
         4118  +    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
         4119  +    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
         4120  +    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
         4121  +    exit 1
         4122  +  fi
         4123  +fi\
         4124  +"
         4125  +}
         4126  +
         4127  +
         4128  +# func_emit_cwrapperexe_src
         4129  +# emit the source code for a wrapper executable on stdout
         4130  +# Must ONLY be called from within func_mode_link because
         4131  +# it depends on a number of variable set therein.
         4132  +func_emit_cwrapperexe_src ()
         4133  +{
         4134  +	cat <<EOF
         4135  +
         4136  +/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
         4137  +   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
         4138  +
         4139  +   The $output program cannot be directly executed until all the libtool
         4140  +   libraries that it depends on are installed.
         4141  +
         4142  +   This wrapper executable should never be moved out of the build directory.
         4143  +   If it is, it will not operate correctly.
         4144  +*/
         4145  +EOF
         4146  +	    cat <<"EOF"
         4147  +#ifdef _MSC_VER
         4148  +# define _CRT_SECURE_NO_DEPRECATE 1
         4149  +#endif
         4150  +#include <stdio.h>
         4151  +#include <stdlib.h>
         4152  +#ifdef _MSC_VER
         4153  +# include <direct.h>
         4154  +# include <process.h>
         4155  +# include <io.h>
         4156  +#else
         4157  +# include <unistd.h>
         4158  +# include <stdint.h>
         4159  +# ifdef __CYGWIN__
         4160  +#  include <io.h>
         4161  +# endif
         4162  +#endif
         4163  +#include <malloc.h>
         4164  +#include <stdarg.h>
         4165  +#include <assert.h>
         4166  +#include <string.h>
         4167  +#include <ctype.h>
         4168  +#include <errno.h>
         4169  +#include <fcntl.h>
         4170  +#include <sys/stat.h>
         4171  +
         4172  +/* declarations of non-ANSI functions */
         4173  +#if defined(__MINGW32__)
         4174  +# ifdef __STRICT_ANSI__
         4175  +int _putenv (const char *);
         4176  +# endif
         4177  +#elif defined(__CYGWIN__)
         4178  +# ifdef __STRICT_ANSI__
         4179  +char *realpath (const char *, char *);
         4180  +int putenv (char *);
         4181  +int setenv (const char *, const char *, int);
         4182  +# endif
         4183  +/* #elif defined (other platforms) ... */
         4184  +#endif
         4185  +
         4186  +/* portability defines, excluding path handling macros */
         4187  +#if defined(_MSC_VER)
         4188  +# define setmode _setmode
         4189  +# define stat    _stat
         4190  +# define chmod   _chmod
         4191  +# define getcwd  _getcwd
         4192  +# define putenv  _putenv
         4193  +# define S_IXUSR _S_IEXEC
         4194  +# ifndef _INTPTR_T_DEFINED
         4195  +#  define _INTPTR_T_DEFINED
         4196  +#  define intptr_t int
         4197  +# endif
         4198  +#elif defined(__MINGW32__)
         4199  +# define setmode _setmode
         4200  +# define stat    _stat
         4201  +# define chmod   _chmod
         4202  +# define getcwd  _getcwd
         4203  +# define putenv  _putenv
         4204  +#elif defined(__CYGWIN__)
         4205  +# define HAVE_SETENV
         4206  +# define FOPEN_WB "wb"
         4207  +/* #elif defined (other platforms) ... */
         4208  +#endif
         4209  +
         4210  +#if defined(PATH_MAX)
         4211  +# define LT_PATHMAX PATH_MAX
         4212  +#elif defined(MAXPATHLEN)
         4213  +# define LT_PATHMAX MAXPATHLEN
         4214  +#else
         4215  +# define LT_PATHMAX 1024
         4216  +#endif
         4217  +
         4218  +#ifndef S_IXOTH
         4219  +# define S_IXOTH 0
         4220  +#endif
         4221  +#ifndef S_IXGRP
         4222  +# define S_IXGRP 0
         4223  +#endif
         4224  +
         4225  +/* path handling portability macros */
         4226  +#ifndef DIR_SEPARATOR
         4227  +# define DIR_SEPARATOR '/'
         4228  +# define PATH_SEPARATOR ':'
         4229  +#endif
         4230  +
         4231  +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
         4232  +  defined (__OS2__)
         4233  +# define HAVE_DOS_BASED_FILE_SYSTEM
         4234  +# define FOPEN_WB "wb"
         4235  +# ifndef DIR_SEPARATOR_2
         4236  +#  define DIR_SEPARATOR_2 '\\'
         4237  +# endif
         4238  +# ifndef PATH_SEPARATOR_2
         4239  +#  define PATH_SEPARATOR_2 ';'
         4240  +# endif
         4241  +#endif
         4242  +
         4243  +#ifndef DIR_SEPARATOR_2
         4244  +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
         4245  +#else /* DIR_SEPARATOR_2 */
         4246  +# define IS_DIR_SEPARATOR(ch) \
         4247  +	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
         4248  +#endif /* DIR_SEPARATOR_2 */
         4249  +
         4250  +#ifndef PATH_SEPARATOR_2
         4251  +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
         4252  +#else /* PATH_SEPARATOR_2 */
         4253  +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
         4254  +#endif /* PATH_SEPARATOR_2 */
         4255  +
         4256  +#ifndef FOPEN_WB
         4257  +# define FOPEN_WB "w"
         4258  +#endif
         4259  +#ifndef _O_BINARY
         4260  +# define _O_BINARY 0
         4261  +#endif
         4262  +
         4263  +#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
         4264  +#define XFREE(stale) do { \
         4265  +  if (stale) { free ((void *) stale); stale = 0; } \
         4266  +} while (0)
         4267  +
         4268  +#if defined(LT_DEBUGWRAPPER)
         4269  +static int lt_debug = 1;
         4270  +#else
         4271  +static int lt_debug = 0;
         4272  +#endif
         4273  +
         4274  +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
         4275  +
         4276  +void *xmalloc (size_t num);
         4277  +char *xstrdup (const char *string);
         4278  +const char *base_name (const char *name);
         4279  +char *find_executable (const char *wrapper);
         4280  +char *chase_symlinks (const char *pathspec);
         4281  +int make_executable (const char *path);
         4282  +int check_executable (const char *path);
         4283  +char *strendzap (char *str, const char *pat);
         4284  +void lt_debugprintf (const char *file, int line, const char *fmt, ...);
         4285  +void lt_fatal (const char *file, int line, const char *message, ...);
         4286  +static const char *nonnull (const char *s);
         4287  +static const char *nonempty (const char *s);
         4288  +void lt_setenv (const char *name, const char *value);
         4289  +char *lt_extend_str (const char *orig_value, const char *add, int to_end);
         4290  +void lt_update_exe_path (const char *name, const char *value);
         4291  +void lt_update_lib_path (const char *name, const char *value);
         4292  +char **prepare_spawn (char **argv);
         4293  +void lt_dump_script (FILE *f);
         4294  +EOF
         4295  +
         4296  +	    cat <<EOF
         4297  +volatile const char * MAGIC_EXE = "$magic_exe";
         4298  +const char * LIB_PATH_VARNAME = "$shlibpath_var";
         4299  +EOF
         4300  +
         4301  +	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
         4302  +              func_to_host_path "$temp_rpath"
         4303  +	      cat <<EOF
         4304  +const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
         4305  +EOF
         4306  +	    else
         4307  +	      cat <<"EOF"
         4308  +const char * LIB_PATH_VALUE   = "";
         4309  +EOF
         4310  +	    fi
         4311  +
         4312  +	    if test -n "$dllsearchpath"; then
         4313  +              func_to_host_path "$dllsearchpath:"
         4314  +	      cat <<EOF
         4315  +const char * EXE_PATH_VARNAME = "PATH";
         4316  +const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
         4317  +EOF
         4318  +	    else
         4319  +	      cat <<"EOF"
         4320  +const char * EXE_PATH_VARNAME = "";
         4321  +const char * EXE_PATH_VALUE   = "";
         4322  +EOF
         4323  +	    fi
         4324  +
         4325  +	    if test "$fast_install" = yes; then
         4326  +	      cat <<EOF
         4327  +const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
         4328  +EOF
         4329  +	    else
         4330  +	      cat <<EOF
         4331  +const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
         4332  +EOF
         4333  +	    fi
         4334  +
         4335  +
         4336  +	    cat <<"EOF"
         4337  +
         4338  +#define LTWRAPPER_OPTION_PREFIX         "--lt-"
         4339  +
         4340  +static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
         4341  +static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
         4342  +static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
         4343  +
         4344  +int
         4345  +main (int argc, char *argv[])
         4346  +{
         4347  +  char **newargz;
         4348  +  int  newargc;
         4349  +  char *tmp_pathspec;
         4350  +  char *actual_cwrapper_path;
         4351  +  char *actual_cwrapper_name;
         4352  +  char *target_name;
         4353  +  char *lt_argv_zero;
         4354  +  intptr_t rval = 127;
         4355  +
         4356  +  int i;
         4357  +
         4358  +  program_name = (char *) xstrdup (base_name (argv[0]));
         4359  +  newargz = XMALLOC (char *, argc + 1);
         4360  +
         4361  +  /* very simple arg parsing; don't want to rely on getopt
         4362  +   * also, copy all non cwrapper options to newargz, except
         4363  +   * argz[0], which is handled differently
         4364  +   */
         4365  +  newargc=0;
         4366  +  for (i = 1; i < argc; i++)
         4367  +    {
         4368  +      if (strcmp (argv[i], dumpscript_opt) == 0)
         4369  +	{
         4370  +EOF
         4371  +	    case "$host" in
         4372  +	      *mingw* | *cygwin* )
         4373  +		# make stdout use "unix" line endings
         4374  +		echo "          setmode(1,_O_BINARY);"
         4375  +		;;
         4376  +	      esac
         4377  +
         4378  +	    cat <<"EOF"
         4379  +	  lt_dump_script (stdout);
         4380  +	  return 0;
         4381  +	}
         4382  +      if (strcmp (argv[i], debug_opt) == 0)
         4383  +	{
         4384  +          lt_debug = 1;
         4385  +          continue;
         4386  +	}
         4387  +      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
         4388  +        {
         4389  +          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
         4390  +             namespace, but it is not one of the ones we know about and
         4391  +             have already dealt with, above (inluding dump-script), then
         4392  +             report an error. Otherwise, targets might begin to believe
         4393  +             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
         4394  +             namespace. The first time any user complains about this, we'll
         4395  +             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
         4396  +             or a configure.ac-settable value.
         4397  +           */
         4398  +          lt_fatal (__FILE__, __LINE__,
         4399  +		    "unrecognized %s option: '%s'",
         4400  +                    ltwrapper_option_prefix, argv[i]);
         4401  +        }
         4402  +      /* otherwise ... */
         4403  +      newargz[++newargc] = xstrdup (argv[i]);
         4404  +    }
         4405  +  newargz[++newargc] = NULL;
         4406  +
         4407  +EOF
         4408  +	    cat <<EOF
         4409  +  /* The GNU banner must be the first non-error debug message */
         4410  +  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
         4411  +EOF
         4412  +	    cat <<"EOF"
         4413  +  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
         4414  +  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
         4415  +
         4416  +  tmp_pathspec = find_executable (argv[0]);
         4417  +  if (tmp_pathspec == NULL)
         4418  +    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
         4419  +  lt_debugprintf (__FILE__, __LINE__,
         4420  +                  "(main) found exe (before symlink chase) at: %s\n",
         4421  +		  tmp_pathspec);
         4422  +
         4423  +  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
         4424  +  lt_debugprintf (__FILE__, __LINE__,
         4425  +                  "(main) found exe (after symlink chase) at: %s\n",
         4426  +		  actual_cwrapper_path);
         4427  +  XFREE (tmp_pathspec);
         4428  +
         4429  +  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
         4430  +  strendzap (actual_cwrapper_path, actual_cwrapper_name);
         4431  +
         4432  +  /* wrapper name transforms */
         4433  +  strendzap (actual_cwrapper_name, ".exe");
         4434  +  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
         4435  +  XFREE (actual_cwrapper_name);
         4436  +  actual_cwrapper_name = tmp_pathspec;
         4437  +  tmp_pathspec = 0;
         4438  +
         4439  +  /* target_name transforms -- use actual target program name; might have lt- prefix */
         4440  +  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
         4441  +  strendzap (target_name, ".exe");
         4442  +  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
         4443  +  XFREE (target_name);
         4444  +  target_name = tmp_pathspec;
         4445  +  tmp_pathspec = 0;
         4446  +
         4447  +  lt_debugprintf (__FILE__, __LINE__,
         4448  +		  "(main) libtool target name: %s\n",
         4449  +		  target_name);
         4450  +EOF
         4451  +
         4452  +	    cat <<EOF
         4453  +  newargz[0] =
         4454  +    XMALLOC (char, (strlen (actual_cwrapper_path) +
         4455  +		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
         4456  +  strcpy (newargz[0], actual_cwrapper_path);
         4457  +  strcat (newargz[0], "$objdir");
         4458  +  strcat (newargz[0], "/");
         4459  +EOF
         4460  +
         4461  +	    cat <<"EOF"
         4462  +  /* stop here, and copy so we don't have to do this twice */
         4463  +  tmp_pathspec = xstrdup (newargz[0]);
         4464  +
         4465  +  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
         4466  +  strcat (newargz[0], actual_cwrapper_name);
         4467  +
         4468  +  /* DO want the lt- prefix here if it exists, so use target_name */
         4469  +  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
         4470  +  XFREE (tmp_pathspec);
         4471  +  tmp_pathspec = NULL;
         4472  +EOF
         4473  +
         4474  +	    case $host_os in
         4475  +	      mingw*)
         4476  +	    cat <<"EOF"
         4477  +  {
         4478  +    char* p;
         4479  +    while ((p = strchr (newargz[0], '\\')) != NULL)
         4480  +      {
         4481  +	*p = '/';
         4482  +      }
         4483  +    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
         4484  +      {
         4485  +	*p = '/';
         4486  +      }
         4487  +  }
         4488  +EOF
         4489  +	    ;;
         4490  +	    esac
         4491  +
         4492  +	    cat <<"EOF"
         4493  +  XFREE (target_name);
         4494  +  XFREE (actual_cwrapper_path);
         4495  +  XFREE (actual_cwrapper_name);
         4496  +
         4497  +  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
         4498  +  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
         4499  +  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
         4500  +     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
         4501  +     because on Windows, both *_VARNAMEs are PATH but uninstalled
         4502  +     libraries must come first. */
         4503  +  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
         4504  +  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
         4505  +
         4506  +  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
         4507  +		  nonnull (lt_argv_zero));
         4508  +  for (i = 0; i < newargc; i++)
         4509  +    {
         4510  +      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
         4511  +		      i, nonnull (newargz[i]));
         4512  +    }
         4513  +
         4514  +EOF
         4515  +
         4516  +	    case $host_os in
         4517  +	      mingw*)
         4518  +		cat <<"EOF"
         4519  +  /* execv doesn't actually work on mingw as expected on unix */
         4520  +  newargz = prepare_spawn (newargz);
         4521  +  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
         4522  +  if (rval == -1)
         4523  +    {
         4524  +      /* failed to start process */
         4525  +      lt_debugprintf (__FILE__, __LINE__,
         4526  +		      "(main) failed to launch target \"%s\": %s\n",
         4527  +		      lt_argv_zero, nonnull (strerror (errno)));
         4528  +      return 127;
         4529  +    }
         4530  +  return rval;
         4531  +EOF
         4532  +		;;
         4533  +	      *)
         4534  +		cat <<"EOF"
         4535  +  execv (lt_argv_zero, newargz);
         4536  +  return rval; /* =127, but avoids unused variable warning */
         4537  +EOF
         4538  +		;;
         4539  +	    esac
         4540  +
         4541  +	    cat <<"EOF"
         4542  +}
         4543  +
         4544  +void *
         4545  +xmalloc (size_t num)
         4546  +{
         4547  +  void *p = (void *) malloc (num);
         4548  +  if (!p)
         4549  +    lt_fatal (__FILE__, __LINE__, "memory exhausted");
         4550  +
         4551  +  return p;
         4552  +}
         4553  +
         4554  +char *
         4555  +xstrdup (const char *string)
         4556  +{
         4557  +  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
         4558  +			  string) : NULL;
         4559  +}
         4560  +
         4561  +const char *
         4562  +base_name (const char *name)
         4563  +{
         4564  +  const char *base;
         4565  +
         4566  +#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
         4567  +  /* Skip over the disk name in MSDOS pathnames. */
         4568  +  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
         4569  +    name += 2;
         4570  +#endif
         4571  +
         4572  +  for (base = name; *name; name++)
         4573  +    if (IS_DIR_SEPARATOR (*name))
         4574  +      base = name + 1;
         4575  +  return base;
         4576  +}
         4577  +
         4578  +int
         4579  +check_executable (const char *path)
         4580  +{
         4581  +  struct stat st;
         4582  +
         4583  +  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
         4584  +                  nonempty (path));
         4585  +  if ((!path) || (!*path))
         4586  +    return 0;
         4587  +
         4588  +  if ((stat (path, &st) >= 0)
         4589  +      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
         4590  +    return 1;
         4591  +  else
         4592  +    return 0;
         4593  +}
         4594  +
         4595  +int
         4596  +make_executable (const char *path)
         4597  +{
         4598  +  int rval = 0;
         4599  +  struct stat st;
         4600  +
         4601  +  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
         4602  +                  nonempty (path));
         4603  +  if ((!path) || (!*path))
         4604  +    return 0;
         4605  +
         4606  +  if (stat (path, &st) >= 0)
         4607  +    {
         4608  +      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
         4609  +    }
         4610  +  return rval;
         4611  +}
         4612  +
         4613  +/* Searches for the full path of the wrapper.  Returns
         4614  +   newly allocated full path name if found, NULL otherwise
         4615  +   Does not chase symlinks, even on platforms that support them.
         4616  +*/
         4617  +char *
         4618  +find_executable (const char *wrapper)
         4619  +{
         4620  +  int has_slash = 0;
         4621  +  const char *p;
         4622  +  const char *p_next;
         4623  +  /* static buffer for getcwd */
         4624  +  char tmp[LT_PATHMAX + 1];
         4625  +  int tmp_len;
         4626  +  char *concat_name;
         4627  +
         4628  +  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
         4629  +                  nonempty (wrapper));
         4630  +
         4631  +  if ((wrapper == NULL) || (*wrapper == '\0'))
         4632  +    return NULL;
         4633  +
         4634  +  /* Absolute path? */
         4635  +#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
         4636  +  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
         4637  +    {
         4638  +      concat_name = xstrdup (wrapper);
         4639  +      if (check_executable (concat_name))
         4640  +	return concat_name;
         4641  +      XFREE (concat_name);
         4642  +    }
         4643  +  else
         4644  +    {
         4645  +#endif
         4646  +      if (IS_DIR_SEPARATOR (wrapper[0]))
         4647  +	{
         4648  +	  concat_name = xstrdup (wrapper);
         4649  +	  if (check_executable (concat_name))
         4650  +	    return concat_name;
         4651  +	  XFREE (concat_name);
         4652  +	}
         4653  +#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
         4654  +    }
         4655  +#endif
         4656  +
         4657  +  for (p = wrapper; *p; p++)
         4658  +    if (*p == '/')
         4659  +      {
         4660  +	has_slash = 1;
         4661  +	break;
         4662  +      }
         4663  +  if (!has_slash)
         4664  +    {
         4665  +      /* no slashes; search PATH */
         4666  +      const char *path = getenv ("PATH");
         4667  +      if (path != NULL)
         4668  +	{
         4669  +	  for (p = path; *p; p = p_next)
         4670  +	    {
         4671  +	      const char *q;
         4672  +	      size_t p_len;
         4673  +	      for (q = p; *q; q++)
         4674  +		if (IS_PATH_SEPARATOR (*q))
         4675  +		  break;
         4676  +	      p_len = q - p;
         4677  +	      p_next = (*q == '\0' ? q : q + 1);
         4678  +	      if (p_len == 0)
         4679  +		{
         4680  +		  /* empty path: current directory */
         4681  +		  if (getcwd (tmp, LT_PATHMAX) == NULL)
         4682  +		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
         4683  +                              nonnull (strerror (errno)));
         4684  +		  tmp_len = strlen (tmp);
         4685  +		  concat_name =
         4686  +		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
         4687  +		  memcpy (concat_name, tmp, tmp_len);
         4688  +		  concat_name[tmp_len] = '/';
         4689  +		  strcpy (concat_name + tmp_len + 1, wrapper);
         4690  +		}
         4691  +	      else
         4692  +		{
         4693  +		  concat_name =
         4694  +		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
         4695  +		  memcpy (concat_name, p, p_len);
         4696  +		  concat_name[p_len] = '/';
         4697  +		  strcpy (concat_name + p_len + 1, wrapper);
         4698  +		}
         4699  +	      if (check_executable (concat_name))
         4700  +		return concat_name;
         4701  +	      XFREE (concat_name);
         4702  +	    }
         4703  +	}
         4704  +      /* not found in PATH; assume curdir */
         4705  +    }
         4706  +  /* Relative path | not found in path: prepend cwd */
         4707  +  if (getcwd (tmp, LT_PATHMAX) == NULL)
         4708  +    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
         4709  +              nonnull (strerror (errno)));
         4710  +  tmp_len = strlen (tmp);
         4711  +  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
         4712  +  memcpy (concat_name, tmp, tmp_len);
         4713  +  concat_name[tmp_len] = '/';
         4714  +  strcpy (concat_name + tmp_len + 1, wrapper);
         4715  +
         4716  +  if (check_executable (concat_name))
         4717  +    return concat_name;
         4718  +  XFREE (concat_name);
         4719  +  return NULL;
         4720  +}
         4721  +
         4722  +char *
         4723  +chase_symlinks (const char *pathspec)
         4724  +{
         4725  +#ifndef S_ISLNK
         4726  +  return xstrdup (pathspec);
         4727  +#else
         4728  +  char buf[LT_PATHMAX];
         4729  +  struct stat s;
         4730  +  char *tmp_pathspec = xstrdup (pathspec);
         4731  +  char *p;
         4732  +  int has_symlinks = 0;
         4733  +  while (strlen (tmp_pathspec) && !has_symlinks)
         4734  +    {
         4735  +      lt_debugprintf (__FILE__, __LINE__,
         4736  +		      "checking path component for symlinks: %s\n",
         4737  +		      tmp_pathspec);
         4738  +      if (lstat (tmp_pathspec, &s) == 0)
         4739  +	{
         4740  +	  if (S_ISLNK (s.st_mode) != 0)
         4741  +	    {
         4742  +	      has_symlinks = 1;
         4743  +	      break;
         4744  +	    }
         4745  +
         4746  +	  /* search backwards for last DIR_SEPARATOR */
         4747  +	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
         4748  +	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
         4749  +	    p--;
         4750  +	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
         4751  +	    {
         4752  +	      /* no more DIR_SEPARATORS left */
         4753  +	      break;
         4754  +	    }
         4755  +	  *p = '\0';
         4756  +	}
         4757  +      else
         4758  +	{
         4759  +	  lt_fatal (__FILE__, __LINE__,
         4760  +		    "error accessing file \"%s\": %s",
         4761  +		    tmp_pathspec, nonnull (strerror (errno)));
         4762  +	}
         4763  +    }
         4764  +  XFREE (tmp_pathspec);
         4765  +
         4766  +  if (!has_symlinks)
         4767  +    {
         4768  +      return xstrdup (pathspec);
         4769  +    }
         4770  +
         4771  +  tmp_pathspec = realpath (pathspec, buf);
         4772  +  if (tmp_pathspec == 0)
         4773  +    {
         4774  +      lt_fatal (__FILE__, __LINE__,
         4775  +		"could not follow symlinks for %s", pathspec);
         4776  +    }
         4777  +  return xstrdup (tmp_pathspec);
         4778  +#endif
         4779  +}
         4780  +
         4781  +char *
         4782  +strendzap (char *str, const char *pat)
         4783  +{
         4784  +  size_t len, patlen;
         4785  +
         4786  +  assert (str != NULL);
         4787  +  assert (pat != NULL);
         4788  +
         4789  +  len = strlen (str);
         4790  +  patlen = strlen (pat);
         4791  +
         4792  +  if (patlen <= len)
         4793  +    {
         4794  +      str += len - patlen;
         4795  +      if (strcmp (str, pat) == 0)
         4796  +	*str = '\0';
         4797  +    }
         4798  +  return str;
         4799  +}
         4800  +
         4801  +void
         4802  +lt_debugprintf (const char *file, int line, const char *fmt, ...)
         4803  +{
         4804  +  va_list args;
         4805  +  if (lt_debug)
         4806  +    {
         4807  +      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
         4808  +      va_start (args, fmt);
         4809  +      (void) vfprintf (stderr, fmt, args);
         4810  +      va_end (args);
         4811  +    }
         4812  +}
         4813  +
         4814  +static void
         4815  +lt_error_core (int exit_status, const char *file,
         4816  +	       int line, const char *mode,
         4817  +	       const char *message, va_list ap)
         4818  +{
         4819  +  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
         4820  +  vfprintf (stderr, message, ap);
         4821  +  fprintf (stderr, ".\n");
         4822  +
         4823  +  if (exit_status >= 0)
         4824  +    exit (exit_status);
         4825  +}
         4826  +
         4827  +void
         4828  +lt_fatal (const char *file, int line, const char *message, ...)
         4829  +{
         4830  +  va_list ap;
         4831  +  va_start (ap, message);
         4832  +  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
         4833  +  va_end (ap);
         4834  +}
         4835  +
         4836  +static const char *
         4837  +nonnull (const char *s)
         4838  +{
         4839  +  return s ? s : "(null)";
         4840  +}
         4841  +
         4842  +static const char *
         4843  +nonempty (const char *s)
         4844  +{
         4845  +  return (s && !*s) ? "(empty)" : nonnull (s);
         4846  +}
         4847  +
         4848  +void
         4849  +lt_setenv (const char *name, const char *value)
         4850  +{
         4851  +  lt_debugprintf (__FILE__, __LINE__,
         4852  +		  "(lt_setenv) setting '%s' to '%s'\n",
         4853  +                  nonnull (name), nonnull (value));
         4854  +  {
         4855  +#ifdef HAVE_SETENV
         4856  +    /* always make a copy, for consistency with !HAVE_SETENV */
         4857  +    char *str = xstrdup (value);
         4858  +    setenv (name, str, 1);
         4859  +#else
         4860  +    int len = strlen (name) + 1 + strlen (value) + 1;
         4861  +    char *str = XMALLOC (char, len);
         4862  +    sprintf (str, "%s=%s", name, value);
         4863  +    if (putenv (str) != EXIT_SUCCESS)
         4864  +      {
         4865  +        XFREE (str);
         4866  +      }
         4867  +#endif
         4868  +  }
         4869  +}
         4870  +
         4871  +char *
         4872  +lt_extend_str (const char *orig_value, const char *add, int to_end)
         4873  +{
         4874  +  char *new_value;
         4875  +  if (orig_value && *orig_value)
         4876  +    {
         4877  +      int orig_value_len = strlen (orig_value);
         4878  +      int add_len = strlen (add);
         4879  +      new_value = XMALLOC (char, add_len + orig_value_len + 1);
         4880  +      if (to_end)
         4881  +        {
         4882  +          strcpy (new_value, orig_value);
         4883  +          strcpy (new_value + orig_value_len, add);
         4884  +        }
         4885  +      else
         4886  +        {
         4887  +          strcpy (new_value, add);
         4888  +          strcpy (new_value + add_len, orig_value);
         4889  +        }
         4890  +    }
         4891  +  else
         4892  +    {
         4893  +      new_value = xstrdup (add);
         4894  +    }
         4895  +  return new_value;
         4896  +}
         4897  +
         4898  +void
         4899  +lt_update_exe_path (const char *name, const char *value)
         4900  +{
         4901  +  lt_debugprintf (__FILE__, __LINE__,
         4902  +		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
         4903  +                  nonnull (name), nonnull (value));
         4904  +
         4905  +  if (name && *name && value && *value)
         4906  +    {
         4907  +      char *new_value = lt_extend_str (getenv (name), value, 0);
         4908  +      /* some systems can't cope with a ':'-terminated path #' */
         4909  +      int len = strlen (new_value);
         4910  +      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
         4911  +        {
         4912  +          new_value[len-1] = '\0';
         4913  +        }
         4914  +      lt_setenv (name, new_value);
         4915  +      XFREE (new_value);
         4916  +    }
         4917  +}
         4918  +
         4919  +void
         4920  +lt_update_lib_path (const char *name, const char *value)
         4921  +{
         4922  +  lt_debugprintf (__FILE__, __LINE__,
         4923  +		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
         4924  +                  nonnull (name), nonnull (value));
         4925  +
         4926  +  if (name && *name && value && *value)
         4927  +    {
         4928  +      char *new_value = lt_extend_str (getenv (name), value, 0);
         4929  +      lt_setenv (name, new_value);
         4930  +      XFREE (new_value);
         4931  +    }
         4932  +}
         4933  +
         4934  +EOF
         4935  +	    case $host_os in
         4936  +	      mingw*)
         4937  +		cat <<"EOF"
         4938  +
         4939  +/* Prepares an argument vector before calling spawn().
         4940  +   Note that spawn() does not by itself call the command interpreter
         4941  +     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
         4942  +      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
         4943  +         GetVersionEx(&v);
         4944  +         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
         4945  +      }) ? "cmd.exe" : "command.com").
         4946  +   Instead it simply concatenates the arguments, separated by ' ', and calls
         4947  +   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
         4948  +   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
         4949  +   special way:
         4950  +   - Space and tab are interpreted as delimiters. They are not treated as
         4951  +     delimiters if they are surrounded by double quotes: "...".
         4952  +   - Unescaped double quotes are removed from the input. Their only effect is
         4953  +     that within double quotes, space and tab are treated like normal
         4954  +     characters.
         4955  +   - Backslashes not followed by double quotes are not special.
         4956  +   - But 2*n+1 backslashes followed by a double quote become
         4957  +     n backslashes followed by a double quote (n >= 0):
         4958  +       \" -> "
         4959  +       \\\" -> \"
         4960  +       \\\\\" -> \\"
         4961  + */
         4962  +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
         4963  +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
         4964  +char **
         4965  +prepare_spawn (char **argv)
         4966  +{
         4967  +  size_t argc;
         4968  +  char **new_argv;
         4969  +  size_t i;
         4970  +
         4971  +  /* Count number of arguments.  */
         4972  +  for (argc = 0; argv[argc] != NULL; argc++)
         4973  +    ;
         4974  +
         4975  +  /* Allocate new argument vector.  */
         4976  +  new_argv = XMALLOC (char *, argc + 1);
         4977  +
         4978  +  /* Put quoted arguments into the new argument vector.  */
         4979  +  for (i = 0; i < argc; i++)
         4980  +    {
         4981  +      const char *string = argv[i];
         4982  +
         4983  +      if (string[0] == '\0')
         4984  +	new_argv[i] = xstrdup ("\"\"");
         4985  +      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
         4986  +	{
         4987  +	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
         4988  +	  size_t length;
         4989  +	  unsigned int backslashes;
         4990  +	  const char *s;
         4991  +	  char *quoted_string;
         4992  +	  char *p;
         4993  +
         4994  +	  length = 0;
         4995  +	  backslashes = 0;
         4996  +	  if (quote_around)
         4997  +	    length++;
         4998  +	  for (s = string; *s != '\0'; s++)
         4999  +	    {
         5000  +	      char c = *s;
         5001  +	      if (c == '"')
         5002  +		length += backslashes + 1;
         5003  +	      length++;
         5004  +	      if (c == '\\')
         5005  +		backslashes++;
         5006  +	      else
         5007  +		backslashes = 0;
         5008  +	    }
         5009  +	  if (quote_around)
         5010  +	    length += backslashes + 1;
         5011  +
         5012  +	  quoted_string = XMALLOC (char, length + 1);
         5013  +
         5014  +	  p = quoted_string;
         5015  +	  backslashes = 0;
         5016  +	  if (quote_around)
         5017  +	    *p++ = '"';
         5018  +	  for (s = string; *s != '\0'; s++)
         5019  +	    {
         5020  +	      char c = *s;
         5021  +	      if (c == '"')
         5022  +		{
         5023  +		  unsigned int j;
         5024  +		  for (j = backslashes + 1; j > 0; j--)
         5025  +		    *p++ = '\\';
         5026  +		}
         5027  +	      *p++ = c;
         5028  +	      if (c == '\\')
         5029  +		backslashes++;
         5030  +	      else
         5031  +		backslashes = 0;
         5032  +	    }
         5033  +	  if (quote_around)
         5034  +	    {
         5035  +	      unsigned int j;
         5036  +	      for (j = backslashes; j > 0; j--)
         5037  +		*p++ = '\\';
         5038  +	      *p++ = '"';
         5039  +	    }
         5040  +	  *p = '\0';
         5041  +
         5042  +	  new_argv[i] = quoted_string;
         5043  +	}
         5044  +      else
         5045  +	new_argv[i] = (char *) string;
         5046  +    }
         5047  +  new_argv[argc] = NULL;
         5048  +
         5049  +  return new_argv;
         5050  +}
         5051  +EOF
         5052  +		;;
         5053  +	    esac
         5054  +
         5055  +            cat <<"EOF"
         5056  +void lt_dump_script (FILE* f)
         5057  +{
         5058  +EOF
         5059  +	    func_emit_wrapper yes |
         5060  +              $SED -e 's/\([\\"]\)/\\\1/g' \
         5061  +	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
         5062  +
         5063  +            cat <<"EOF"
         5064  +}
         5065  +EOF
         5066  +}
         5067  +# end: func_emit_cwrapperexe_src
         5068  +
         5069  +# func_win32_import_lib_p ARG
         5070  +# True if ARG is an import lib, as indicated by $file_magic_cmd
         5071  +func_win32_import_lib_p ()
         5072  +{
         5073  +    $opt_debug
         5074  +    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
         5075  +    *import*) : ;;
         5076  +    *) false ;;
         5077  +    esac
         5078  +}
         5079  +
         5080  +# func_mode_link arg...
         5081  +func_mode_link ()
         5082  +{
         5083  +    $opt_debug
         5084  +    case $host in
         5085  +    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
         5086  +      # It is impossible to link a dll without this setting, and
         5087  +      # we shouldn't force the makefile maintainer to figure out
         5088  +      # which system we are compiling for in order to pass an extra
         5089  +      # flag for every libtool invocation.
         5090  +      # allow_undefined=no
         5091  +
         5092  +      # FIXME: Unfortunately, there are problems with the above when trying
         5093  +      # to make a dll which has undefined symbols, in which case not
         5094  +      # even a static library is built.  For now, we need to specify
         5095  +      # -no-undefined on the libtool link line when we can be certain
         5096  +      # that all symbols are satisfied, otherwise we get a static library.
         5097  +      allow_undefined=yes
         5098  +      ;;
         5099  +    *)
         5100  +      allow_undefined=yes
         5101  +      ;;
         5102  +    esac
         5103  +    libtool_args=$nonopt
         5104  +    base_compile="$nonopt $@"
         5105  +    compile_command=$nonopt
         5106  +    finalize_command=$nonopt
         5107  +
         5108  +    compile_rpath=
         5109  +    finalize_rpath=
         5110  +    compile_shlibpath=
         5111  +    finalize_shlibpath=
         5112  +    convenience=
         5113  +    old_convenience=
         5114  +    deplibs=
         5115  +    old_deplibs=
         5116  +    compiler_flags=
         5117  +    linker_flags=
         5118  +    dllsearchpath=
         5119  +    lib_search_path=`pwd`
         5120  +    inst_prefix_dir=
         5121  +    new_inherited_linker_flags=
         5122  +
         5123  +    avoid_version=no
         5124  +    bindir=
         5125  +    dlfiles=
         5126  +    dlprefiles=
         5127  +    dlself=no
         5128  +    export_dynamic=no
         5129  +    export_symbols=
         5130  +    export_symbols_regex=
         5131  +    generated=
         5132  +    libobjs=
         5133  +    ltlibs=
         5134  +    module=no
         5135  +    no_install=no
         5136  +    objs=
         5137  +    non_pic_objects=
         5138  +    precious_files_regex=
         5139  +    prefer_static_libs=no
         5140  +    preload=no
         5141  +    prev=
         5142  +    prevarg=
         5143  +    release=
         5144  +    rpath=
         5145  +    xrpath=
         5146  +    perm_rpath=
         5147  +    temp_rpath=
         5148  +    thread_safe=no
         5149  +    vinfo=
         5150  +    vinfo_number=no
         5151  +    weak_libs=
         5152  +    single_module="${wl}-single_module"
         5153  +    func_infer_tag $base_compile
         5154  +
         5155  +    # We need to know -static, to get the right output filenames.
         5156  +    for arg
         5157  +    do
         5158  +      case $arg in
         5159  +      -shared)
         5160  +	test "$build_libtool_libs" != yes && \
         5161  +	  func_fatal_configuration "can not build a shared library"
         5162  +	build_old_libs=no
         5163  +	break
         5164  +	;;
         5165  +      -all-static | -static | -static-libtool-libs)
         5166  +	case $arg in
         5167  +	-all-static)
         5168  +	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
         5169  +	    func_warning "complete static linking is impossible in this configuration"
         5170  +	  fi
         5171  +	  if test -n "$link_static_flag"; then
         5172  +	    dlopen_self=$dlopen_self_static
         5173  +	  fi
         5174  +	  prefer_static_libs=yes
         5175  +	  ;;
         5176  +	-static)
         5177  +	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
         5178  +	    dlopen_self=$dlopen_self_static
         5179  +	  fi
         5180  +	  prefer_static_libs=built
         5181  +	  ;;
         5182  +	-static-libtool-libs)
         5183  +	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
         5184  +	    dlopen_self=$dlopen_self_static
         5185  +	  fi
         5186  +	  prefer_static_libs=yes
         5187  +	  ;;
         5188  +	esac
         5189  +	build_libtool_libs=no
         5190  +	build_old_libs=yes
         5191  +	break
         5192  +	;;
         5193  +      esac
         5194  +    done
         5195  +
         5196  +    # See if our shared archives depend on static archives.
         5197  +    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
         5198  +
         5199  +    # Go through the arguments, transforming them on the way.
         5200  +    while test "$#" -gt 0; do
         5201  +      arg="$1"
         5202  +      shift
         5203  +      func_quote_for_eval "$arg"
         5204  +      qarg=$func_quote_for_eval_unquoted_result
         5205  +      func_append libtool_args " $func_quote_for_eval_result"
         5206  +
         5207  +      # If the previous option needs an argument, assign it.
         5208  +      if test -n "$prev"; then
         5209  +	case $prev in
         5210  +	output)
         5211  +	  func_append compile_command " @OUTPUT@"
         5212  +	  func_append finalize_command " @OUTPUT@"
         5213  +	  ;;
         5214  +	esac
         5215  +
         5216  +	case $prev in
         5217  +	bindir)
         5218  +	  bindir="$arg"
         5219  +	  prev=
         5220  +	  continue
         5221  +	  ;;
         5222  +	dlfiles|dlprefiles)
         5223  +	  if test "$preload" = no; then
         5224  +	    # Add the symbol object into the linking commands.
         5225  +	    func_append compile_command " @SYMFILE@"
         5226  +	    func_append finalize_command " @SYMFILE@"
         5227  +	    preload=yes
         5228  +	  fi
         5229  +	  case $arg in
         5230  +	  *.la | *.lo) ;;  # We handle these cases below.
         5231  +	  force)
         5232  +	    if test "$dlself" = no; then
         5233  +	      dlself=needless
         5234  +	      export_dynamic=yes
         5235  +	    fi
         5236  +	    prev=
         5237  +	    continue
         5238  +	    ;;
         5239  +	  self)
         5240  +	    if test "$prev" = dlprefiles; then
         5241  +	      dlself=yes
         5242  +	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
         5243  +	      dlself=yes
         5244  +	    else
         5245  +	      dlself=needless
         5246  +	      export_dynamic=yes
         5247  +	    fi
         5248  +	    prev=
         5249  +	    continue
         5250  +	    ;;
         5251  +	  *)
         5252  +	    if test "$prev" = dlfiles; then
         5253  +	      func_append dlfiles " $arg"
         5254  +	    else
         5255  +	      func_append dlprefiles " $arg"
         5256  +	    fi
         5257  +	    prev=
         5258  +	    continue
         5259  +	    ;;
         5260  +	  esac
         5261  +	  ;;
         5262  +	expsyms)
         5263  +	  export_symbols="$arg"
         5264  +	  test -f "$arg" \
         5265  +	    || func_fatal_error "symbol file \`$arg' does not exist"
         5266  +	  prev=
         5267  +	  continue
         5268  +	  ;;
         5269  +	expsyms_regex)
         5270  +	  export_symbols_regex="$arg"
         5271  +	  prev=
         5272  +	  continue
         5273  +	  ;;
         5274  +	framework)
         5275  +	  case $host in
         5276  +	    *-*-darwin*)
         5277  +	      case "$deplibs " in
         5278  +		*" $qarg.ltframework "*) ;;
         5279  +		*) func_append deplibs " $qarg.ltframework" # this is fixed later
         5280  +		   ;;
         5281  +	      esac
         5282  +	      ;;
         5283  +	  esac
         5284  +	  prev=
         5285  +	  continue
         5286  +	  ;;
         5287  +	inst_prefix)
         5288  +	  inst_prefix_dir="$arg"
         5289  +	  prev=
         5290  +	  continue
         5291  +	  ;;
         5292  +	objectlist)
         5293  +	  if test -f "$arg"; then
         5294  +	    save_arg=$arg
         5295  +	    moreargs=
         5296  +	    for fil in `cat "$save_arg"`
         5297  +	    do
         5298  +#	      func_append moreargs " $fil"
         5299  +	      arg=$fil
         5300  +	      # A libtool-controlled object.
         5301  +
         5302  +	      # Check to see that this really is a libtool object.
         5303  +	      if func_lalib_unsafe_p "$arg"; then
         5304  +		pic_object=
         5305  +		non_pic_object=
         5306  +
         5307  +		# Read the .lo file
         5308  +		func_source "$arg"
         5309  +
         5310  +		if test -z "$pic_object" ||
         5311  +		   test -z "$non_pic_object" ||
         5312  +		   test "$pic_object" = none &&
         5313  +		   test "$non_pic_object" = none; then
         5314  +		  func_fatal_error "cannot find name of object for \`$arg'"
         5315  +		fi
         5316  +
         5317  +		# Extract subdirectory from the argument.
         5318  +		func_dirname "$arg" "/" ""
         5319  +		xdir="$func_dirname_result"
         5320  +
         5321  +		if test "$pic_object" != none; then
         5322  +		  # Prepend the subdirectory the object is found in.
         5323  +		  pic_object="$xdir$pic_object"
         5324  +
         5325  +		  if test "$prev" = dlfiles; then
         5326  +		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
         5327  +		      func_append dlfiles " $pic_object"
         5328  +		      prev=
         5329  +		      continue
         5330  +		    else
         5331  +		      # If libtool objects are unsupported, then we need to preload.
         5332  +		      prev=dlprefiles
         5333  +		    fi
         5334  +		  fi
         5335  +
         5336  +		  # CHECK ME:  I think I busted this.  -Ossama
         5337  +		  if test "$prev" = dlprefiles; then
         5338  +		    # Preload the old-style object.
         5339  +		    func_append dlprefiles " $pic_object"
         5340  +		    prev=
         5341  +		  fi
         5342  +
         5343  +		  # A PIC object.
         5344  +		  func_append libobjs " $pic_object"
         5345  +		  arg="$pic_object"
         5346  +		fi
         5347  +
         5348  +		# Non-PIC object.
         5349  +		if test "$non_pic_object" != none; then
         5350  +		  # Prepend the subdirectory the object is found in.
         5351  +		  non_pic_object="$xdir$non_pic_object"
         5352  +
         5353  +		  # A standard non-PIC object
         5354  +		  func_append non_pic_objects " $non_pic_object"
         5355  +		  if test -z "$pic_object" || test "$pic_object" = none ; then
         5356  +		    arg="$non_pic_object"
         5357  +		  fi
         5358  +		else
         5359  +		  # If the PIC object exists, use it instead.
         5360  +		  # $xdir was prepended to $pic_object above.
         5361  +		  non_pic_object="$pic_object"
         5362  +		  func_append non_pic_objects " $non_pic_object"
         5363  +		fi
         5364  +	      else
         5365  +		# Only an error if not doing a dry-run.
         5366  +		if $opt_dry_run; then
         5367  +		  # Extract subdirectory from the argument.
         5368  +		  func_dirname "$arg" "/" ""
         5369  +		  xdir="$func_dirname_result"
         5370  +
         5371  +		  func_lo2o "$arg"
         5372  +		  pic_object=$xdir$objdir/$func_lo2o_result
         5373  +		  non_pic_object=$xdir$func_lo2o_result
         5374  +		  func_append libobjs " $pic_object"
         5375  +		  func_append non_pic_objects " $non_pic_object"
         5376  +	        else
         5377  +		  func_fatal_error "\`$arg' is not a valid libtool object"
         5378  +		fi
         5379  +	      fi
         5380  +	    done
         5381  +	  else
         5382  +	    func_fatal_error "link input file \`$arg' does not exist"
         5383  +	  fi
         5384  +	  arg=$save_arg
         5385  +	  prev=
         5386  +	  continue
         5387  +	  ;;
         5388  +	precious_regex)
         5389  +	  precious_files_regex="$arg"
         5390  +	  prev=
         5391  +	  continue
         5392  +	  ;;
         5393  +	release)
         5394  +	  release="-$arg"
         5395  +	  prev=
         5396  +	  continue
         5397  +	  ;;
         5398  +	rpath | xrpath)
         5399  +	  # We need an absolute path.
         5400  +	  case $arg in
         5401  +	  [\\/]* | [A-Za-z]:[\\/]*) ;;
         5402  +	  *)
         5403  +	    func_fatal_error "only absolute run-paths are allowed"
         5404  +	    ;;
         5405  +	  esac
         5406  +	  if test "$prev" = rpath; then
         5407  +	    case "$rpath " in
         5408  +	    *" $arg "*) ;;
         5409  +	    *) func_append rpath " $arg" ;;
         5410  +	    esac
         5411  +	  else
         5412  +	    case "$xrpath " in
         5413  +	    *" $arg "*) ;;
         5414  +	    *) func_append xrpath " $arg" ;;
         5415  +	    esac
         5416  +	  fi
         5417  +	  prev=
         5418  +	  continue
         5419  +	  ;;
         5420  +	shrext)
         5421  +	  shrext_cmds="$arg"
         5422  +	  prev=
         5423  +	  continue
         5424  +	  ;;
         5425  +	weak)
         5426  +	  func_append weak_libs " $arg"
         5427  +	  prev=
         5428  +	  continue
         5429  +	  ;;
         5430  +	xcclinker)
         5431  +	  func_append linker_flags " $qarg"
         5432  +	  func_append compiler_flags " $qarg"
         5433  +	  prev=
         5434  +	  func_append compile_command " $qarg"
         5435  +	  func_append finalize_command " $qarg"
         5436  +	  continue
         5437  +	  ;;
         5438  +	xcompiler)
         5439  +	  func_append compiler_flags " $qarg"
         5440  +	  prev=
         5441  +	  func_append compile_command " $qarg"
         5442  +	  func_append finalize_command " $qarg"
         5443  +	  continue
         5444  +	  ;;
         5445  +	xlinker)
         5446  +	  func_append linker_flags " $qarg"
         5447  +	  func_append compiler_flags " $wl$qarg"
         5448  +	  prev=
         5449  +	  func_append compile_command " $wl$qarg"
         5450  +	  func_append finalize_command " $wl$qarg"
         5451  +	  continue
         5452  +	  ;;
         5453  +	*)
         5454  +	  eval "$prev=\"\$arg\""
         5455  +	  prev=
         5456  +	  continue
         5457  +	  ;;
         5458  +	esac
         5459  +      fi # test -n "$prev"
         5460  +
         5461  +      prevarg="$arg"
         5462  +
         5463  +      case $arg in
         5464  +      -all-static)
         5465  +	if test -n "$link_static_flag"; then
         5466  +	  # See comment for -static flag below, for more details.
         5467  +	  func_append compile_command " $link_static_flag"
         5468  +	  func_append finalize_command " $link_static_flag"
         5469  +	fi
         5470  +	continue
         5471  +	;;
         5472  +
         5473  +      -allow-undefined)
         5474  +	# FIXME: remove this flag sometime in the future.
         5475  +	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
         5476  +	;;
         5477  +
         5478  +      -avoid-version)
         5479  +	avoid_version=yes
         5480  +	continue
         5481  +	;;
         5482  +
         5483  +      -bindir)
         5484  +	prev=bindir
         5485  +	continue
         5486  +	;;
         5487  +
         5488  +      -dlopen)
         5489  +	prev=dlfiles
         5490  +	continue
         5491  +	;;
         5492  +
         5493  +      -dlpreopen)
         5494  +	prev=dlprefiles
         5495  +	continue
         5496  +	;;
         5497  +
         5498  +      -export-dynamic)
         5499  +	export_dynamic=yes
         5500  +	continue
         5501  +	;;
         5502  +
         5503  +      -export-symbols | -export-symbols-regex)
         5504  +	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
         5505  +	  func_fatal_error "more than one -exported-symbols argument is not allowed"
         5506  +	fi
         5507  +	if test "X$arg" = "X-export-symbols"; then
         5508  +	  prev=expsyms
         5509  +	else
         5510  +	  prev=expsyms_regex
         5511  +	fi
         5512  +	continue
         5513  +	;;
         5514  +
         5515  +      -framework)
         5516  +	prev=framework
         5517  +	continue
         5518  +	;;
         5519  +
         5520  +      -inst-prefix-dir)
         5521  +	prev=inst_prefix
         5522  +	continue
         5523  +	;;
         5524  +
         5525  +      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
         5526  +      # so, if we see these flags be careful not to treat them like -L
         5527  +      -L[A-Z][A-Z]*:*)
         5528  +	case $with_gcc/$host in
         5529  +	no/*-*-irix* | /*-*-irix*)
         5530  +	  func_append compile_command " $arg"
         5531  +	  func_append finalize_command " $arg"
         5532  +	  ;;
         5533  +	esac
         5534  +	continue
         5535  +	;;
         5536  +
         5537  +      -L*)
         5538  +	func_stripname "-L" '' "$arg"
         5539  +	if test -z "$func_stripname_result"; then
         5540  +	  if test "$#" -gt 0; then
         5541  +	    func_fatal_error "require no space between \`-L' and \`$1'"
         5542  +	  else
         5543  +	    func_fatal_error "need path for \`-L' option"
         5544  +	  fi
         5545  +	fi
         5546  +	func_resolve_sysroot "$func_stripname_result"
         5547  +	dir=$func_resolve_sysroot_result
         5548  +	# We need an absolute path.
         5549  +	case $dir in
         5550  +	[\\/]* | [A-Za-z]:[\\/]*) ;;
         5551  +	*)
         5552  +	  absdir=`cd "$dir" && pwd`
         5553  +	  test -z "$absdir" && \
         5554  +	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
         5555  +	  dir="$absdir"
         5556  +	  ;;
         5557  +	esac
         5558  +	case "$deplibs " in
         5559  +	*" -L$dir "* | *" $arg "*)
         5560  +	  # Will only happen for absolute or sysroot arguments
         5561  +	  ;;
         5562  +	*)
         5563  +	  # Preserve sysroot, but never include relative directories
         5564  +	  case $dir in
         5565  +	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
         5566  +	    *) func_append deplibs " -L$dir" ;;
         5567  +	  esac
         5568  +	  func_append lib_search_path " $dir"
         5569  +	  ;;
         5570  +	esac
         5571  +	case $host in
         5572  +	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
         5573  +	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
         5574  +	  case :$dllsearchpath: in
         5575  +	  *":$dir:"*) ;;
         5576  +	  ::) dllsearchpath=$dir;;
         5577  +	  *) func_append dllsearchpath ":$dir";;
         5578  +	  esac
         5579  +	  case :$dllsearchpath: in
         5580  +	  *":$testbindir:"*) ;;
         5581  +	  ::) dllsearchpath=$testbindir;;
         5582  +	  *) func_append dllsearchpath ":$testbindir";;
         5583  +	  esac
         5584  +	  ;;
         5585  +	esac
         5586  +	continue
         5587  +	;;
         5588  +
         5589  +      -l*)
         5590  +	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
         5591  +	  case $host in
         5592  +	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
         5593  +	    # These systems don't actually have a C or math library (as such)
         5594  +	    continue
         5595  +	    ;;
         5596  +	  *-*-os2*)
         5597  +	    # These systems don't actually have a C library (as such)
         5598  +	    test "X$arg" = "X-lc" && continue
         5599  +	    ;;
         5600  +	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
         5601  +	    # Do not include libc due to us having libc/libc_r.
         5602  +	    test "X$arg" = "X-lc" && continue
         5603  +	    ;;
         5604  +	  *-*-rhapsody* | *-*-darwin1.[012])
         5605  +	    # Rhapsody C and math libraries are in the System framework
         5606  +	    func_append deplibs " System.ltframework"
         5607  +	    continue
         5608  +	    ;;
         5609  +	  *-*-sco3.2v5* | *-*-sco5v6*)
         5610  +	    # Causes problems with __ctype
         5611  +	    test "X$arg" = "X-lc" && continue
         5612  +	    ;;
         5613  +	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
         5614  +	    # Compiler inserts libc in the correct place for threads to work
         5615  +	    test "X$arg" = "X-lc" && continue
         5616  +	    ;;
         5617  +	  esac
         5618  +	elif test "X$arg" = "X-lc_r"; then
         5619  +	 case $host in
         5620  +	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
         5621  +	   # Do not include libc_r directly, use -pthread flag.
         5622  +	   continue
         5623  +	   ;;
         5624  +	 esac
         5625  +	fi
         5626  +	func_append deplibs " $arg"
         5627  +	continue
         5628  +	;;
         5629  +
         5630  +      -module)
         5631  +	module=yes
         5632  +	continue
         5633  +	;;
         5634  +
         5635  +      # Tru64 UNIX uses -model [arg] to determine the layout of C++
         5636  +      # classes, name mangling, and exception handling.
         5637  +      # Darwin uses the -arch flag to determine output architecture.
         5638  +      -model|-arch|-isysroot|--sysroot)
         5639  +	func_append compiler_flags " $arg"
         5640  +	func_append compile_command " $arg"
         5641  +	func_append finalize_command " $arg"
         5642  +	prev=xcompiler
         5643  +	continue
         5644  +	;;
         5645  +
         5646  +      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
         5647  +	func_append compiler_flags " $arg"
         5648  +	func_append compile_command " $arg"
         5649  +	func_append finalize_command " $arg"
         5650  +	case "$new_inherited_linker_flags " in
         5651  +	    *" $arg "*) ;;
         5652  +	    * ) func_append new_inherited_linker_flags " $arg" ;;
         5653  +	esac
         5654  +	continue
         5655  +	;;
         5656  +
         5657  +      -multi_module)
         5658  +	single_module="${wl}-multi_module"
         5659  +	continue
         5660  +	;;
         5661  +
         5662  +      -no-fast-install)
         5663  +	fast_install=no
         5664  +	continue
         5665  +	;;
         5666  +
         5667  +      -no-install)
         5668  +	case $host in
         5669  +	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
         5670  +	  # The PATH hackery in wrapper scripts is required on Windows
         5671  +	  # and Darwin in order for the loader to find any dlls it needs.
         5672  +	  func_warning "\`-no-install' is ignored for $host"
         5673  +	  func_warning "assuming \`-no-fast-install' instead"
         5674  +	  fast_install=no
         5675  +	  ;;
         5676  +	*) no_install=yes ;;
         5677  +	esac
         5678  +	continue
         5679  +	;;
         5680  +
         5681  +      -no-undefined)
         5682  +	allow_undefined=no
         5683  +	continue
         5684  +	;;
         5685  +
         5686  +      -objectlist)
         5687  +	prev=objectlist
         5688  +	continue
         5689  +	;;
         5690  +
         5691  +      -o) prev=output ;;
         5692  +
         5693  +      -precious-files-regex)
         5694  +	prev=precious_regex
         5695  +	continue
         5696  +	;;
         5697  +
         5698  +      -release)
         5699  +	prev=release
         5700  +	continue
         5701  +	;;
         5702  +
         5703  +      -rpath)
         5704  +	prev=rpath
         5705  +	continue
         5706  +	;;
         5707  +
         5708  +      -R)
         5709  +	prev=xrpath
         5710  +	continue
         5711  +	;;
         5712  +
         5713  +      -R*)
         5714  +	func_stripname '-R' '' "$arg"
         5715  +	dir=$func_stripname_result
         5716  +	# We need an absolute path.
         5717  +	case $dir in
         5718  +	[\\/]* | [A-Za-z]:[\\/]*) ;;
         5719  +	=*)
         5720  +	  func_stripname '=' '' "$dir"
         5721  +	  dir=$lt_sysroot$func_stripname_result
         5722  +	  ;;
         5723  +	*)
         5724  +	  func_fatal_error "only absolute run-paths are allowed"
         5725  +	  ;;
         5726  +	esac
         5727  +	case "$xrpath " in
         5728  +	*" $dir "*) ;;
         5729  +	*) func_append xrpath " $dir" ;;
         5730  +	esac
         5731  +	continue
         5732  +	;;
         5733  +
         5734  +      -shared)
         5735  +	# The effects of -shared are defined in a previous loop.
         5736  +	continue
         5737  +	;;
         5738  +
         5739  +      -shrext)
         5740  +	prev=shrext
         5741  +	continue
         5742  +	;;
         5743  +
         5744  +      -static | -static-libtool-libs)
         5745  +	# The effects of -static are defined in a previous loop.
         5746  +	# We used to do the same as -all-static on platforms that
         5747  +	# didn't have a PIC flag, but the assumption that the effects
         5748  +	# would be equivalent was wrong.  It would break on at least
         5749  +	# Digital Unix and AIX.
         5750  +	continue
         5751  +	;;
         5752  +
         5753  +      -thread-safe)
         5754  +	thread_safe=yes
         5755  +	continue
         5756  +	;;
         5757  +
         5758  +      -version-info)
         5759  +	prev=vinfo
         5760  +	continue
         5761  +	;;
         5762  +
         5763  +      -version-number)
         5764  +	prev=vinfo
         5765  +	vinfo_number=yes
         5766  +	continue
         5767  +	;;
         5768  +
         5769  +      -weak)
         5770  +        prev=weak
         5771  +	continue
         5772  +	;;
         5773  +
         5774  +      -Wc,*)
         5775  +	func_stripname '-Wc,' '' "$arg"
         5776  +	args=$func_stripname_result
         5777  +	arg=
         5778  +	save_ifs="$IFS"; IFS=','
         5779  +	for flag in $args; do
         5780  +	  IFS="$save_ifs"
         5781  +          func_quote_for_eval "$flag"
         5782  +	  func_append arg " $func_quote_for_eval_result"
         5783  +	  func_append compiler_flags " $func_quote_for_eval_result"
         5784  +	done
         5785  +	IFS="$save_ifs"
         5786  +	func_stripname ' ' '' "$arg"
         5787  +	arg=$func_stripname_result
         5788  +	;;
         5789  +
         5790  +      -Wl,*)
         5791  +	func_stripname '-Wl,' '' "$arg"
         5792  +	args=$func_stripname_result
         5793  +	arg=
         5794  +	save_ifs="$IFS"; IFS=','
         5795  +	for flag in $args; do
         5796  +	  IFS="$save_ifs"
         5797  +          func_quote_for_eval "$flag"
         5798  +	  func_append arg " $wl$func_quote_for_eval_result"
         5799  +	  func_append compiler_flags " $wl$func_quote_for_eval_result"
         5800  +	  func_append linker_flags " $func_quote_for_eval_result"
         5801  +	done
         5802  +	IFS="$save_ifs"
         5803  +	func_stripname ' ' '' "$arg"
         5804  +	arg=$func_stripname_result
         5805  +	;;
         5806  +
         5807  +      -Xcompiler)
         5808  +	prev=xcompiler
         5809  +	continue
         5810  +	;;
         5811  +
         5812  +      -Xlinker)
         5813  +	prev=xlinker
         5814  +	continue
         5815  +	;;
         5816  +
         5817  +      -XCClinker)
         5818  +	prev=xcclinker
         5819  +	continue
         5820  +	;;
         5821  +
         5822  +      # -msg_* for osf cc
         5823  +      -msg_*)
         5824  +	func_quote_for_eval "$arg"
         5825  +	arg="$func_quote_for_eval_result"
         5826  +	;;
         5827  +
         5828  +      # Flags to be passed through unchanged, with rationale:
         5829  +      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
         5830  +      # -r[0-9][0-9]*        specify processor for the SGI compiler
         5831  +      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
         5832  +      # +DA*, +DD*           enable 64-bit mode for the HP compiler
         5833  +      # -q*                  compiler args for the IBM compiler
         5834  +      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
         5835  +      # -F/path              path to uninstalled frameworks, gcc on darwin
         5836  +      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
         5837  +      # @file                GCC response files
         5838  +      # -tp=*                Portland pgcc target processor selection
         5839  +      # --sysroot=*          for sysroot support
         5840  +      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
         5841  +      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
         5842  +      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
         5843  +      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
         5844  +        func_quote_for_eval "$arg"
         5845  +	arg="$func_quote_for_eval_result"
         5846  +        func_append compile_command " $arg"
         5847  +        func_append finalize_command " $arg"
         5848  +        func_append compiler_flags " $arg"
         5849  +        continue
         5850  +        ;;
         5851  +
         5852  +      # Some other compiler flag.
         5853  +      -* | +*)
         5854  +        func_quote_for_eval "$arg"
         5855  +	arg="$func_quote_for_eval_result"
         5856  +	;;
         5857  +
         5858  +      *.$objext)
         5859  +	# A standard object.
         5860  +	func_append objs " $arg"
         5861  +	;;
         5862  +
         5863  +      *.lo)
         5864  +	# A libtool-controlled object.
         5865  +
         5866  +	# Check to see that this really is a libtool object.
         5867  +	if func_lalib_unsafe_p "$arg"; then
         5868  +	  pic_object=
         5869  +	  non_pic_object=
         5870  +
         5871  +	  # Read the .lo file
         5872  +	  func_source "$arg"
         5873  +
         5874  +	  if test -z "$pic_object" ||
         5875  +	     test -z "$non_pic_object" ||
         5876  +	     test "$pic_object" = none &&
         5877  +	     test "$non_pic_object" = none; then
         5878  +	    func_fatal_error "cannot find name of object for \`$arg'"
         5879  +	  fi
         5880  +
         5881  +	  # Extract subdirectory from the argument.
         5882  +	  func_dirname "$arg" "/" ""
         5883  +	  xdir="$func_dirname_result"
         5884  +
         5885  +	  if test "$pic_object" != none; then
         5886  +	    # Prepend the subdirectory the object is found in.
         5887  +	    pic_object="$xdir$pic_object"
         5888  +
         5889  +	    if test "$prev" = dlfiles; then
         5890  +	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
         5891  +		func_append dlfiles " $pic_object"
         5892  +		prev=
         5893  +		continue
         5894  +	      else
         5895  +		# If libtool objects are unsupported, then we need to preload.
         5896  +		prev=dlprefiles
         5897  +	      fi
         5898  +	    fi
         5899  +
         5900  +	    # CHECK ME:  I think I busted this.  -Ossama
         5901  +	    if test "$prev" = dlprefiles; then
         5902  +	      # Preload the old-style object.
         5903  +	      func_append dlprefiles " $pic_object"
         5904  +	      prev=
         5905  +	    fi
         5906  +
         5907  +	    # A PIC object.
         5908  +	    func_append libobjs " $pic_object"
         5909  +	    arg="$pic_object"
         5910  +	  fi
         5911  +
         5912  +	  # Non-PIC object.
         5913  +	  if test "$non_pic_object" != none; then
         5914  +	    # Prepend the subdirectory the object is found in.
         5915  +	    non_pic_object="$xdir$non_pic_object"
         5916  +
         5917  +	    # A standard non-PIC object
         5918  +	    func_append non_pic_objects " $non_pic_object"
         5919  +	    if test -z "$pic_object" || test "$pic_object" = none ; then
         5920  +	      arg="$non_pic_object"
         5921  +	    fi
         5922  +	  else
         5923  +	    # If the PIC object exists, use it instead.
         5924  +	    # $xdir was prepended to $pic_object above.
         5925  +	    non_pic_object="$pic_object"
         5926  +	    func_append non_pic_objects " $non_pic_object"
         5927  +	  fi
         5928  +	else
         5929  +	  # Only an error if not doing a dry-run.
         5930  +	  if $opt_dry_run; then
         5931  +	    # Extract subdirectory from the argument.
         5932  +	    func_dirname "$arg" "/" ""
         5933  +	    xdir="$func_dirname_result"
         5934  +
         5935  +	    func_lo2o "$arg"
         5936  +	    pic_object=$xdir$objdir/$func_lo2o_result
         5937  +	    non_pic_object=$xdir$func_lo2o_result
         5938  +	    func_append libobjs " $pic_object"
         5939  +	    func_append non_pic_objects " $non_pic_object"
         5940  +	  else
         5941  +	    func_fatal_error "\`$arg' is not a valid libtool object"
         5942  +	  fi
         5943  +	fi
         5944  +	;;
         5945  +
         5946  +      *.$libext)
         5947  +	# An archive.
         5948  +	func_append deplibs " $arg"
         5949  +	func_append old_deplibs " $arg"
         5950  +	continue
         5951  +	;;
         5952  +
         5953  +      *.la)
         5954  +	# A libtool-controlled library.
         5955  +
         5956  +	func_resolve_sysroot "$arg"
         5957  +	if test "$prev" = dlfiles; then
         5958  +	  # This library was specified with -dlopen.
         5959  +	  func_append dlfiles " $func_resolve_sysroot_result"
         5960  +	  prev=
         5961  +	elif test "$prev" = dlprefiles; then
         5962  +	  # The library was specified with -dlpreopen.
         5963  +	  func_append dlprefiles " $func_resolve_sysroot_result"
         5964  +	  prev=
         5965  +	else
         5966  +	  func_append deplibs " $func_resolve_sysroot_result"
         5967  +	fi
         5968  +	continue
         5969  +	;;
         5970  +
         5971  +      # Some other compiler argument.
         5972  +      *)
         5973  +	# Unknown arguments in both finalize_command and compile_command need
         5974  +	# to be aesthetically quoted because they are evaled later.
         5975  +	func_quote_for_eval "$arg"
         5976  +	arg="$func_quote_for_eval_result"
         5977  +	;;
         5978  +      esac # arg
         5979  +
         5980  +      # Now actually substitute the argument into the commands.
         5981  +      if test -n "$arg"; then
         5982  +	func_append compile_command " $arg"
         5983  +	func_append finalize_command " $arg"
         5984  +      fi
         5985  +    done # argument parsing loop
         5986  +
         5987  +    test -n "$prev" && \
         5988  +      func_fatal_help "the \`$prevarg' option requires an argument"
         5989  +
         5990  +    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
         5991  +      eval arg=\"$export_dynamic_flag_spec\"
         5992  +      func_append compile_command " $arg"
         5993  +      func_append finalize_command " $arg"
         5994  +    fi
         5995  +
         5996  +    oldlibs=
         5997  +    # calculate the name of the file, without its directory
         5998  +    func_basename "$output"
         5999  +    outputname="$func_basename_result"
         6000  +    libobjs_save="$libobjs"
         6001  +
         6002  +    if test -n "$shlibpath_var"; then
         6003  +      # get the directories listed in $shlibpath_var
         6004  +      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
         6005  +    else
         6006  +      shlib_search_path=
         6007  +    fi
         6008  +    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
         6009  +    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
         6010  +
         6011  +    func_dirname "$output" "/" ""
         6012  +    output_objdir="$func_dirname_result$objdir"
         6013  +    func_to_tool_file "$output_objdir/"
         6014  +    tool_output_objdir=$func_to_tool_file_result
         6015  +    # Create the object directory.
         6016  +    func_mkdir_p "$output_objdir"
         6017  +
         6018  +    # Determine the type of output
         6019  +    case $output in
         6020  +    "")
         6021  +      func_fatal_help "you must specify an output file"
         6022  +      ;;
         6023  +    *.$libext) linkmode=oldlib ;;
         6024  +    *.lo | *.$objext) linkmode=obj ;;
         6025  +    *.la) linkmode=lib ;;
         6026  +    *) linkmode=prog ;; # Anything else should be a program.
         6027  +    esac
         6028  +
         6029  +    specialdeplibs=
         6030  +
         6031  +    libs=
         6032  +    # Find all interdependent deplibs by searching for libraries
         6033  +    # that are linked more than once (e.g. -la -lb -la)
         6034  +    for deplib in $deplibs; do
         6035  +      if $opt_preserve_dup_deps ; then
         6036  +	case "$libs " in
         6037  +	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
         6038  +	esac
         6039  +      fi
         6040  +      func_append libs " $deplib"
         6041  +    done
         6042  +
         6043  +    if test "$linkmode" = lib; then
         6044  +      libs="$predeps $libs $compiler_lib_search_path $postdeps"
         6045  +
         6046  +      # Compute libraries that are listed more than once in $predeps
         6047  +      # $postdeps and mark them as special (i.e., whose duplicates are
         6048  +      # not to be eliminated).
         6049  +      pre_post_deps=
         6050  +      if $opt_duplicate_compiler_generated_deps; then
         6051  +	for pre_post_dep in $predeps $postdeps; do
         6052  +	  case "$pre_post_deps " in
         6053  +	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
         6054  +	  esac
         6055  +	  func_append pre_post_deps " $pre_post_dep"
         6056  +	done
         6057  +      fi
         6058  +      pre_post_deps=
         6059  +    fi
         6060  +
         6061  +    deplibs=
         6062  +    newdependency_libs=
         6063  +    newlib_search_path=
         6064  +    need_relink=no # whether we're linking any uninstalled libtool libraries
         6065  +    notinst_deplibs= # not-installed libtool libraries
         6066  +    notinst_path= # paths that contain not-installed libtool libraries
         6067  +
         6068  +    case $linkmode in
         6069  +    lib)
         6070  +	passes="conv dlpreopen link"
         6071  +	for file in $dlfiles $dlprefiles; do
         6072  +	  case $file in
         6073  +	  *.la) ;;
         6074  +	  *)
         6075  +	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
         6076  +	    ;;
         6077  +	  esac
         6078  +	done
         6079  +	;;
         6080  +    prog)
         6081  +	compile_deplibs=
         6082  +	finalize_deplibs=
         6083  +	alldeplibs=no
         6084  +	newdlfiles=
         6085  +	newdlprefiles=
         6086  +	passes="conv scan dlopen dlpreopen link"
         6087  +	;;
         6088  +    *)  passes="conv"
         6089  +	;;
         6090  +    esac
         6091  +
         6092  +    for pass in $passes; do
         6093  +      # The preopen pass in lib mode reverses $deplibs; put it back here
         6094  +      # so that -L comes before libs that need it for instance...
         6095  +      if test "$linkmode,$pass" = "lib,link"; then
         6096  +	## FIXME: Find the place where the list is rebuilt in the wrong
         6097  +	##        order, and fix it there properly
         6098  +        tmp_deplibs=
         6099  +	for deplib in $deplibs; do
         6100  +	  tmp_deplibs="$deplib $tmp_deplibs"
         6101  +	done
         6102  +	deplibs="$tmp_deplibs"
         6103  +      fi
         6104  +
         6105  +      if test "$linkmode,$pass" = "lib,link" ||
         6106  +	 test "$linkmode,$pass" = "prog,scan"; then
         6107  +	libs="$deplibs"
         6108  +	deplibs=
         6109  +      fi
         6110  +      if test "$linkmode" = prog; then
         6111  +	case $pass in
         6112  +	dlopen) libs="$dlfiles" ;;
         6113  +	dlpreopen) libs="$dlprefiles" ;;
         6114  +	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
         6115  +	esac
         6116  +      fi
         6117  +      if test "$linkmode,$pass" = "lib,dlpreopen"; then
         6118  +	# Collect and forward deplibs of preopened libtool libs
         6119  +	for lib in $dlprefiles; do
         6120  +	  # Ignore non-libtool-libs
         6121  +	  dependency_libs=
         6122  +	  func_resolve_sysroot "$lib"
         6123  +	  case $lib in
         6124  +	  *.la)	func_source "$func_resolve_sysroot_result" ;;
         6125  +	  esac
         6126  +
         6127  +	  # Collect preopened libtool deplibs, except any this library
         6128  +	  # has declared as weak libs
         6129  +	  for deplib in $dependency_libs; do
         6130  +	    func_basename "$deplib"
         6131  +            deplib_base=$func_basename_result
         6132  +	    case " $weak_libs " in
         6133  +	    *" $deplib_base "*) ;;
         6134  +	    *) func_append deplibs " $deplib" ;;
         6135  +	    esac
         6136  +	  done
         6137  +	done
         6138  +	libs="$dlprefiles"
         6139  +      fi
         6140  +      if test "$pass" = dlopen; then
         6141  +	# Collect dlpreopened libraries
         6142  +	save_deplibs="$deplibs"
         6143  +	deplibs=
         6144  +      fi
         6145  +
         6146  +      for deplib in $libs; do
         6147  +	lib=
         6148  +	found=no
         6149  +	case $deplib in
         6150  +	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
         6151  +	  if test "$linkmode,$pass" = "prog,link"; then
         6152  +	    compile_deplibs="$deplib $compile_deplibs"
         6153  +	    finalize_deplibs="$deplib $finalize_deplibs"
         6154  +	  else
         6155  +	    func_append compiler_flags " $deplib"
         6156  +	    if test "$linkmode" = lib ; then
         6157  +		case "$new_inherited_linker_flags " in
         6158  +		    *" $deplib "*) ;;
         6159  +		    * ) func_append new_inherited_linker_flags " $deplib" ;;
         6160  +		esac
         6161  +	    fi
         6162  +	  fi
         6163  +	  continue
         6164  +	  ;;
         6165  +	-l*)
         6166  +	  if test "$linkmode" != lib && test "$linkmode" != prog; then
         6167  +	    func_warning "\`-l' is ignored for archives/objects"
         6168  +	    continue
         6169  +	  fi
         6170  +	  func_stripname '-l' '' "$deplib"
         6171  +	  name=$func_stripname_result
         6172  +	  if test "$linkmode" = lib; then
         6173  +	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
         6174  +	  else
         6175  +	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
         6176  +	  fi
         6177  +	  for searchdir in $searchdirs; do
         6178  +	    for search_ext in .la $std_shrext .so .a; do
         6179  +	      # Search the libtool library
         6180  +	      lib="$searchdir/lib${name}${search_ext}"
         6181  +	      if test -f "$lib"; then
         6182  +		if test "$search_ext" = ".la"; then
         6183  +		  found=yes
         6184  +		else
         6185  +		  found=no
         6186  +		fi
         6187  +		break 2
         6188  +	      fi
         6189  +	    done
         6190  +	  done
         6191  +	  if test "$found" != yes; then
         6192  +	    # deplib doesn't seem to be a libtool library
         6193  +	    if test "$linkmode,$pass" = "prog,link"; then
         6194  +	      compile_deplibs="$deplib $compile_deplibs"
         6195  +	      finalize_deplibs="$deplib $finalize_deplibs"
         6196  +	    else
         6197  +	      deplibs="$deplib $deplibs"
         6198  +	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
         6199  +	    fi
         6200  +	    continue
         6201  +	  else # deplib is a libtool library
         6202  +	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
         6203  +	    # We need to do some special things here, and not later.
         6204  +	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
         6205  +	      case " $predeps $postdeps " in
         6206  +	      *" $deplib "*)
         6207  +		if func_lalib_p "$lib"; then
         6208  +		  library_names=
         6209  +		  old_library=
         6210  +		  func_source "$lib"
         6211  +		  for l in $old_library $library_names; do
         6212  +		    ll="$l"
         6213  +		  done
         6214  +		  if test "X$ll" = "X$old_library" ; then # only static version available
         6215  +		    found=no
         6216  +		    func_dirname "$lib" "" "."
         6217  +		    ladir="$func_dirname_result"
         6218  +		    lib=$ladir/$old_library
         6219  +		    if test "$linkmode,$pass" = "prog,link"; then
         6220  +		      compile_deplibs="$deplib $compile_deplibs"
         6221  +		      finalize_deplibs="$deplib $finalize_deplibs"
         6222  +		    else
         6223  +		      deplibs="$deplib $deplibs"
         6224  +		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
         6225  +		    fi
         6226  +		    continue
         6227  +		  fi
         6228  +		fi
         6229  +		;;
         6230  +	      *) ;;
         6231  +	      esac
         6232  +	    fi
         6233  +	  fi
         6234  +	  ;; # -l
         6235  +	*.ltframework)
         6236  +	  if test "$linkmode,$pass" = "prog,link"; then
         6237  +	    compile_deplibs="$deplib $compile_deplibs"
         6238  +	    finalize_deplibs="$deplib $finalize_deplibs"
         6239  +	  else
         6240  +	    deplibs="$deplib $deplibs"
         6241  +	    if test "$linkmode" = lib ; then
         6242  +		case "$new_inherited_linker_flags " in
         6243  +		    *" $deplib "*) ;;
         6244  +		    * ) func_append new_inherited_linker_flags " $deplib" ;;
         6245  +		esac
         6246  +	    fi
         6247  +	  fi
         6248  +	  continue
         6249  +	  ;;
         6250  +	-L*)
         6251  +	  case $linkmode in
         6252  +	  lib)
         6253  +	    deplibs="$deplib $deplibs"
         6254  +	    test "$pass" = conv && continue
         6255  +	    newdependency_libs="$deplib $newdependency_libs"
         6256  +	    func_stripname '-L' '' "$deplib"
         6257  +	    func_resolve_sysroot "$func_stripname_result"
         6258  +	    func_append newlib_search_path " $func_resolve_sysroot_result"
         6259  +	    ;;
         6260  +	  prog)
         6261  +	    if test "$pass" = conv; then
         6262  +	      deplibs="$deplib $deplibs"
         6263  +	      continue
         6264  +	    fi
         6265  +	    if test "$pass" = scan; then
         6266  +	      deplibs="$deplib $deplibs"
         6267  +	    else
         6268  +	      compile_deplibs="$deplib $compile_deplibs"
         6269  +	      finalize_deplibs="$deplib $finalize_deplibs"
         6270  +	    fi
         6271  +	    func_stripname '-L' '' "$deplib"
         6272  +	    func_resolve_sysroot "$func_stripname_result"
         6273  +	    func_append newlib_search_path " $func_resolve_sysroot_result"
         6274  +	    ;;
         6275  +	  *)
         6276  +	    func_warning "\`-L' is ignored for archives/objects"
         6277  +	    ;;
         6278  +	  esac # linkmode
         6279  +	  continue
         6280  +	  ;; # -L
         6281  +	-R*)
         6282  +	  if test "$pass" = link; then
         6283  +	    func_stripname '-R' '' "$deplib"
         6284  +	    func_resolve_sysroot "$func_stripname_result"
         6285  +	    dir=$func_resolve_sysroot_result
         6286  +	    # Make sure the xrpath contains only unique directories.
         6287  +	    case "$xrpath " in
         6288  +	    *" $dir "*) ;;
         6289  +	    *) func_append xrpath " $dir" ;;
         6290  +	    esac
         6291  +	  fi
         6292  +	  deplibs="$deplib $deplibs"
         6293  +	  continue
         6294  +	  ;;
         6295  +	*.la)
         6296  +	  func_resolve_sysroot "$deplib"
         6297  +	  lib=$func_resolve_sysroot_result
         6298  +	  ;;
         6299  +	*.$libext)
         6300  +	  if test "$pass" = conv; then
         6301  +	    deplibs="$deplib $deplibs"
         6302  +	    continue
         6303  +	  fi
         6304  +	  case $linkmode in
         6305  +	  lib)
         6306  +	    # Linking convenience modules into shared libraries is allowed,
         6307  +	    # but linking other static libraries is non-portable.
         6308  +	    case " $dlpreconveniencelibs " in
         6309  +	    *" $deplib "*) ;;
         6310  +	    *)
         6311  +	      valid_a_lib=no
         6312  +	      case $deplibs_check_method in
         6313  +		match_pattern*)
         6314  +		  set dummy $deplibs_check_method; shift
         6315  +		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
         6316  +		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
         6317  +		    | $EGREP "$match_pattern_regex" > /dev/null; then
         6318  +		    valid_a_lib=yes
         6319  +		  fi
         6320  +		;;
         6321  +		pass_all)
         6322  +		  valid_a_lib=yes
         6323  +		;;
         6324  +	      esac
         6325  +	      if test "$valid_a_lib" != yes; then
         6326  +		echo
         6327  +		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
         6328  +		echo "*** I have the capability to make that library automatically link in when"
         6329  +		echo "*** you link to this library.  But I can only do this if you have a"
         6330  +		echo "*** shared version of the library, which you do not appear to have"
         6331  +		echo "*** because the file extensions .$libext of this argument makes me believe"
         6332  +		echo "*** that it is just a static archive that I should not use here."
         6333  +	      else
         6334  +		echo
         6335  +		$ECHO "*** Warning: Linking the shared library $output against the"
         6336  +		$ECHO "*** static library $deplib is not portable!"
         6337  +		deplibs="$deplib $deplibs"
         6338  +	      fi
         6339  +	      ;;
         6340  +	    esac
         6341  +	    continue
         6342  +	    ;;
         6343  +	  prog)
         6344  +	    if test "$pass" != link; then
         6345  +	      deplibs="$deplib $deplibs"
         6346  +	    else
         6347  +	      compile_deplibs="$deplib $compile_deplibs"
         6348  +	      finalize_deplibs="$deplib $finalize_deplibs"
         6349  +	    fi
         6350  +	    continue
         6351  +	    ;;
         6352  +	  esac # linkmode
         6353  +	  ;; # *.$libext
         6354  +	*.lo | *.$objext)
         6355  +	  if test "$pass" = conv; then
         6356  +	    deplibs="$deplib $deplibs"
         6357  +	  elif test "$linkmode" = prog; then
         6358  +	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
         6359  +	      # If there is no dlopen support or we're linking statically,
         6360  +	      # we need to preload.
         6361  +	      func_append newdlprefiles " $deplib"
         6362  +	      compile_deplibs="$deplib $compile_deplibs"
         6363  +	      finalize_deplibs="$deplib $finalize_deplibs"
         6364  +	    else
         6365  +	      func_append newdlfiles " $deplib"
         6366  +	    fi
         6367  +	  fi
         6368  +	  continue
         6369  +	  ;;
         6370  +	%DEPLIBS%)
         6371  +	  alldeplibs=yes
         6372  +	  continue
         6373  +	  ;;
         6374  +	esac # case $deplib
         6375  +
         6376  +	if test "$found" = yes || test -f "$lib"; then :
         6377  +	else
         6378  +	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
         6379  +	fi
         6380  +
         6381  +	# Check to see that this really is a libtool archive.
         6382  +	func_lalib_unsafe_p "$lib" \
         6383  +	  || func_fatal_error "\`$lib' is not a valid libtool archive"
         6384  +
         6385  +	func_dirname "$lib" "" "."
         6386  +	ladir="$func_dirname_result"
         6387  +
         6388  +	dlname=
         6389  +	dlopen=
         6390  +	dlpreopen=
         6391  +	libdir=
         6392  +	library_names=
         6393  +	old_library=
         6394  +	inherited_linker_flags=
         6395  +	# If the library was installed with an old release of libtool,
         6396  +	# it will not redefine variables installed, or shouldnotlink
         6397  +	installed=yes
         6398  +	shouldnotlink=no
         6399  +	avoidtemprpath=
         6400  +
         6401  +
         6402  +	# Read the .la file
         6403  +	func_source "$lib"
         6404  +
         6405  +	# Convert "-framework foo" to "foo.ltframework"
         6406  +	if test -n "$inherited_linker_flags"; then
         6407  +	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
         6408  +	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
         6409  +	    case " $new_inherited_linker_flags " in
         6410  +	      *" $tmp_inherited_linker_flag "*) ;;
         6411  +	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
         6412  +	    esac
         6413  +	  done
         6414  +	fi
         6415  +	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
         6416  +	if test "$linkmode,$pass" = "lib,link" ||
         6417  +	   test "$linkmode,$pass" = "prog,scan" ||
         6418  +	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
         6419  +	  test -n "$dlopen" && func_append dlfiles " $dlopen"
         6420  +	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
         6421  +	fi
         6422  +
         6423  +	if test "$pass" = conv; then
         6424  +	  # Only check for convenience libraries
         6425  +	  deplibs="$lib $deplibs"
         6426  +	  if test -z "$libdir"; then
         6427  +	    if test -z "$old_library"; then
         6428  +	      func_fatal_error "cannot find name of link library for \`$lib'"
         6429  +	    fi
         6430  +	    # It is a libtool convenience library, so add in its objects.
         6431  +	    func_append convenience " $ladir/$objdir/$old_library"
         6432  +	    func_append old_convenience " $ladir/$objdir/$old_library"
         6433  +	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
         6434  +	    func_fatal_error "\`$lib' is not a convenience library"
         6435  +	  fi
         6436  +	  tmp_libs=
         6437  +	  for deplib in $dependency_libs; do
         6438  +	    deplibs="$deplib $deplibs"
         6439  +	    if $opt_preserve_dup_deps ; then
         6440  +	      case "$tmp_libs " in
         6441  +	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
         6442  +	      esac
         6443  +	    fi
         6444  +	    func_append tmp_libs " $deplib"
         6445  +	  done
         6446  +	  continue
         6447  +	fi # $pass = conv
         6448  +
         6449  +
         6450  +	# Get the name of the library we link against.
         6451  +	linklib=
         6452  +	if test -n "$old_library" &&
         6453  +	   { test "$prefer_static_libs" = yes ||
         6454  +	     test "$prefer_static_libs,$installed" = "built,no"; }; then
         6455  +	  linklib=$old_library
         6456  +	else
         6457  +	  for l in $old_library $library_names; do
         6458  +	    linklib="$l"
         6459  +	  done
         6460  +	fi
         6461  +	if test -z "$linklib"; then
         6462  +	  func_fatal_error "cannot find name of link library for \`$lib'"
         6463  +	fi
         6464  +
         6465  +	# This library was specified with -dlopen.
         6466  +	if test "$pass" = dlopen; then
         6467  +	  if test -z "$libdir"; then
         6468  +	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
         6469  +	  fi
         6470  +	  if test -z "$dlname" ||
         6471  +	     test "$dlopen_support" != yes ||
         6472  +	     test "$build_libtool_libs" = no; then
         6473  +	    # If there is no dlname, no dlopen support or we're linking
         6474  +	    # statically, we need to preload.  We also need to preload any
         6475  +	    # dependent libraries so libltdl's deplib preloader doesn't
         6476  +	    # bomb out in the load deplibs phase.
         6477  +	    func_append dlprefiles " $lib $dependency_libs"
         6478  +	  else
         6479  +	    func_append newdlfiles " $lib"
         6480  +	  fi
         6481  +	  continue
         6482  +	fi # $pass = dlopen
         6483  +
         6484  +	# We need an absolute path.
         6485  +	case $ladir in
         6486  +	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
         6487  +	*)
         6488  +	  abs_ladir=`cd "$ladir" && pwd`
         6489  +	  if test -z "$abs_ladir"; then
         6490  +	    func_warning "cannot determine absolute directory name of \`$ladir'"
         6491  +	    func_warning "passing it literally to the linker, although it might fail"
         6492  +	    abs_ladir="$ladir"
         6493  +	  fi
         6494  +	  ;;
         6495  +	esac
         6496  +	func_basename "$lib"
         6497  +	laname="$func_basename_result"
         6498  +
         6499  +	# Find the relevant object directory and library name.
         6500  +	if test "X$installed" = Xyes; then
         6501  +	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
         6502  +	    func_warning "library \`$lib' was moved."
         6503  +	    dir="$ladir"
         6504  +	    absdir="$abs_ladir"
         6505  +	    libdir="$abs_ladir"
         6506  +	  else
         6507  +	    dir="$lt_sysroot$libdir"
         6508  +	    absdir="$lt_sysroot$libdir"
         6509  +	  fi
         6510  +	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
         6511  +	else
         6512  +	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
         6513  +	    dir="$ladir"
         6514  +	    absdir="$abs_ladir"
         6515  +	    # Remove this search path later
         6516  +	    func_append notinst_path " $abs_ladir"
         6517  +	  else
         6518  +	    dir="$ladir/$objdir"
         6519  +	    absdir="$abs_ladir/$objdir"
         6520  +	    # Remove this search path later
         6521  +	    func_append notinst_path " $abs_ladir"
         6522  +	  fi
         6523  +	fi # $installed = yes
         6524  +	func_stripname 'lib' '.la' "$laname"
         6525  +	name=$func_stripname_result
         6526  +
         6527  +	# This library was specified with -dlpreopen.
         6528  +	if test "$pass" = dlpreopen; then
         6529  +	  if test -z "$libdir" && test "$linkmode" = prog; then
         6530  +	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
         6531  +	  fi
         6532  +	  case "$host" in
         6533  +	    # special handling for platforms with PE-DLLs.
         6534  +	    *cygwin* | *mingw* | *cegcc* )
         6535  +	      # Linker will automatically link against shared library if both
         6536  +	      # static and shared are present.  Therefore, ensure we extract
         6537  +	      # symbols from the import library if a shared library is present
         6538  +	      # (otherwise, the dlopen module name will be incorrect).  We do
         6539  +	      # this by putting the import library name into $newdlprefiles.
         6540  +	      # We recover the dlopen module name by 'saving' the la file
         6541  +	      # name in a special purpose variable, and (later) extracting the
         6542  +	      # dlname from the la file.
         6543  +	      if test -n "$dlname"; then
         6544  +	        func_tr_sh "$dir/$linklib"
         6545  +	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
         6546  +	        func_append newdlprefiles " $dir/$linklib"
         6547  +	      else
         6548  +	        func_append newdlprefiles " $dir/$old_library"
         6549  +	        # Keep a list of preopened convenience libraries to check
         6550  +	        # that they are being used correctly in the link pass.
         6551  +	        test -z "$libdir" && \
         6552  +	          func_append dlpreconveniencelibs " $dir/$old_library"
         6553  +	      fi
         6554  +	    ;;
         6555  +	    * )
         6556  +	      # Prefer using a static library (so that no silly _DYNAMIC symbols
         6557  +	      # are required to link).
         6558  +	      if test -n "$old_library"; then
         6559  +	        func_append newdlprefiles " $dir/$old_library"
         6560  +	        # Keep a list of preopened convenience libraries to check
         6561  +	        # that they are being used correctly in the link pass.
         6562  +	        test -z "$libdir" && \
         6563  +	          func_append dlpreconveniencelibs " $dir/$old_library"
         6564  +	      # Otherwise, use the dlname, so that lt_dlopen finds it.
         6565  +	      elif test -n "$dlname"; then
         6566  +	        func_append newdlprefiles " $dir/$dlname"
         6567  +	      else
         6568  +	        func_append newdlprefiles " $dir/$linklib"
         6569  +	      fi
         6570  +	    ;;
         6571  +	  esac
         6572  +	fi # $pass = dlpreopen
         6573  +
         6574  +	if test -z "$libdir"; then
         6575  +	  # Link the convenience library
         6576  +	  if test "$linkmode" = lib; then
         6577  +	    deplibs="$dir/$old_library $deplibs"
         6578  +	  elif test "$linkmode,$pass" = "prog,link"; then
         6579  +	    compile_deplibs="$dir/$old_library $compile_deplibs"
         6580  +	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
         6581  +	  else
         6582  +	    deplibs="$lib $deplibs" # used for prog,scan pass
         6583  +	  fi
         6584  +	  continue
         6585  +	fi
         6586  +
         6587  +
         6588  +	if test "$linkmode" = prog && test "$pass" != link; then
         6589  +	  func_append newlib_search_path " $ladir"
         6590  +	  deplibs="$lib $deplibs"
         6591  +
         6592  +	  linkalldeplibs=no
         6593  +	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
         6594  +	     test "$build_libtool_libs" = no; then
         6595  +	    linkalldeplibs=yes
         6596  +	  fi
         6597  +
         6598  +	  tmp_libs=
         6599  +	  for deplib in $dependency_libs; do
         6600  +	    case $deplib in
         6601  +	    -L*) func_stripname '-L' '' "$deplib"
         6602  +	         func_resolve_sysroot "$func_stripname_result"
         6603  +	         func_append newlib_search_path " $func_resolve_sysroot_result"
         6604  +		 ;;
         6605  +	    esac
         6606  +	    # Need to link against all dependency_libs?
         6607  +	    if test "$linkalldeplibs" = yes; then
         6608  +	      deplibs="$deplib $deplibs"
         6609  +	    else
         6610  +	      # Need to hardcode shared library paths
         6611  +	      # or/and link against static libraries
         6612  +	      newdependency_libs="$deplib $newdependency_libs"
         6613  +	    fi
         6614  +	    if $opt_preserve_dup_deps ; then
         6615  +	      case "$tmp_libs " in
         6616  +	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
         6617  +	      esac
         6618  +	    fi
         6619  +	    func_append tmp_libs " $deplib"
         6620  +	  done # for deplib
         6621  +	  continue
         6622  +	fi # $linkmode = prog...
         6623  +
         6624  +	if test "$linkmode,$pass" = "prog,link"; then
         6625  +	  if test -n "$library_names" &&
         6626  +	     { { test "$prefer_static_libs" = no ||
         6627  +	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
         6628  +	       test -z "$old_library"; }; then
         6629  +	    # We need to hardcode the library path
         6630  +	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
         6631  +	      # Make sure the rpath contains only unique directories.
         6632  +	      case "$temp_rpath:" in
         6633  +	      *"$absdir:"*) ;;
         6634  +	      *) func_append temp_rpath "$absdir:" ;;
         6635  +	      esac
         6636  +	    fi
         6637  +
         6638  +	    # Hardcode the library path.
         6639  +	    # Skip directories that are in the system default run-time
         6640  +	    # search path.
         6641  +	    case " $sys_lib_dlsearch_path " in
         6642  +	    *" $absdir "*) ;;
         6643  +	    *)
         6644  +	      case "$compile_rpath " in
         6645  +	      *" $absdir "*) ;;
         6646  +	      *) func_append compile_rpath " $absdir" ;;
         6647  +	      esac
         6648  +	      ;;
         6649  +	    esac
         6650  +	    case " $sys_lib_dlsearch_path " in
         6651  +	    *" $libdir "*) ;;
         6652  +	    *)
         6653  +	      case "$finalize_rpath " in
         6654  +	      *" $libdir "*) ;;
         6655  +	      *) func_append finalize_rpath " $libdir" ;;
         6656  +	      esac
         6657  +	      ;;
         6658  +	    esac
         6659  +	  fi # $linkmode,$pass = prog,link...
         6660  +
         6661  +	  if test "$alldeplibs" = yes &&
         6662  +	     { test "$deplibs_check_method" = pass_all ||
         6663  +	       { test "$build_libtool_libs" = yes &&
         6664  +		 test -n "$library_names"; }; }; then
         6665  +	    # We only need to search for static libraries
         6666  +	    continue
         6667  +	  fi
         6668  +	fi
         6669  +
         6670  +	link_static=no # Whether the deplib will be linked statically
         6671  +	use_static_libs=$prefer_static_libs
         6672  +	if test "$use_static_libs" = built && test "$installed" = yes; then
         6673  +	  use_static_libs=no
         6674  +	fi
         6675  +	if test -n "$library_names" &&
         6676  +	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
         6677  +	  case $host in
         6678  +	  *cygwin* | *mingw* | *cegcc*)
         6679  +	      # No point in relinking DLLs because paths are not encoded
         6680  +	      func_append notinst_deplibs " $lib"
         6681  +	      need_relink=no
         6682  +	    ;;
         6683  +	  *)
         6684  +	    if test "$installed" = no; then
         6685  +	      func_append notinst_deplibs " $lib"
         6686  +	      need_relink=yes
         6687  +	    fi
         6688  +	    ;;
         6689  +	  esac
         6690  +	  # This is a shared library
         6691  +
         6692  +	  # Warn about portability, can't link against -module's on some
         6693  +	  # systems (darwin).  Don't bleat about dlopened modules though!
         6694  +	  dlopenmodule=""
         6695  +	  for dlpremoduletest in $dlprefiles; do
         6696  +	    if test "X$dlpremoduletest" = "X$lib"; then
         6697  +	      dlopenmodule="$dlpremoduletest"
         6698  +	      break
         6699  +	    fi
         6700  +	  done
         6701  +	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
         6702  +	    echo
         6703  +	    if test "$linkmode" = prog; then
         6704  +	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
         6705  +	    else
         6706  +	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
         6707  +	    fi
         6708  +	    $ECHO "*** $linklib is not portable!"
         6709  +	  fi
         6710  +	  if test "$linkmode" = lib &&
         6711  +	     test "$hardcode_into_libs" = yes; then
         6712  +	    # Hardcode the library path.
         6713  +	    # Skip directories that are in the system default run-time
         6714  +	    # search path.
         6715  +	    case " $sys_lib_dlsearch_path " in
         6716  +	    *" $absdir "*) ;;
         6717  +	    *)
         6718  +	      case "$compile_rpath " in
         6719  +	      *" $absdir "*) ;;
         6720  +	      *) func_append compile_rpath " $absdir" ;;
         6721  +	      esac
         6722  +	      ;;
         6723  +	    esac
         6724  +	    case " $sys_lib_dlsearch_path " in
         6725  +	    *" $libdir "*) ;;
         6726  +	    *)
         6727  +	      case "$finalize_rpath " in
         6728  +	      *" $libdir "*) ;;
         6729  +	      *) func_append finalize_rpath " $libdir" ;;
         6730  +	      esac
         6731  +	      ;;
         6732  +	    esac
         6733  +	  fi
         6734  +
         6735  +	  if test -n "$old_archive_from_expsyms_cmds"; then
         6736  +	    # figure out the soname
         6737  +	    set dummy $library_names
         6738  +	    shift
         6739  +	    realname="$1"
         6740  +	    shift
         6741  +	    libname=`eval "\\$ECHO \"$libname_spec\""`
         6742  +	    # use dlname if we got it. it's perfectly good, no?
         6743  +	    if test -n "$dlname"; then
         6744  +	      soname="$dlname"
         6745  +	    elif test -n "$soname_spec"; then
         6746  +	      # bleh windows
         6747  +	      case $host in
         6748  +	      *cygwin* | mingw* | *cegcc*)
         6749  +	        func_arith $current - $age
         6750  +		major=$func_arith_result
         6751  +		versuffix="-$major"
         6752  +		;;
         6753  +	      esac
         6754  +	      eval soname=\"$soname_spec\"
         6755  +	    else
         6756  +	      soname="$realname"
         6757  +	    fi
         6758  +
         6759  +	    # Make a new name for the extract_expsyms_cmds to use
         6760  +	    soroot="$soname"
         6761  +	    func_basename "$soroot"
         6762  +	    soname="$func_basename_result"
         6763  +	    func_stripname 'lib' '.dll' "$soname"
         6764  +	    newlib=libimp-$func_stripname_result.a
         6765  +
         6766  +	    # If the library has no export list, then create one now
         6767  +	    if test -f "$output_objdir/$soname-def"; then :
         6768  +	    else
         6769  +	      func_verbose "extracting exported symbol list from \`$soname'"
         6770  +	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
         6771  +	    fi
         6772  +
         6773  +	    # Create $newlib
         6774  +	    if test -f "$output_objdir/$newlib"; then :; else
         6775  +	      func_verbose "generating import library for \`$soname'"
         6776  +	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
         6777  +	    fi
         6778  +	    # make sure the library variables are pointing to the new library
         6779  +	    dir=$output_objdir
         6780  +	    linklib=$newlib
         6781  +	  fi # test -n "$old_archive_from_expsyms_cmds"
         6782  +
         6783  +	  if test "$linkmode" = prog || test "$opt_mode" != relink; then
         6784  +	    add_shlibpath=
         6785  +	    add_dir=
         6786  +	    add=
         6787  +	    lib_linked=yes
         6788  +	    case $hardcode_action in
         6789  +	    immediate | unsupported)
         6790  +	      if test "$hardcode_direct" = no; then
         6791  +		add="$dir/$linklib"
         6792  +		case $host in
         6793  +		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
         6794  +		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
         6795  +		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
         6796  +		    *-*-unixware7*) add_dir="-L$dir" ;;
         6797  +		  *-*-darwin* )
         6798  +		    # if the lib is a (non-dlopened) module then we can not
         6799  +		    # link against it, someone is ignoring the earlier warnings
         6800  +		    if /usr/bin/file -L $add 2> /dev/null |
         6801  +			 $GREP ": [^:]* bundle" >/dev/null ; then
         6802  +		      if test "X$dlopenmodule" != "X$lib"; then
         6803  +			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
         6804  +			if test -z "$old_library" ; then
         6805  +			  echo
         6806  +			  echo "*** And there doesn't seem to be a static archive available"
         6807  +			  echo "*** The link will probably fail, sorry"
         6808  +			else
         6809  +			  add="$dir/$old_library"
         6810  +			fi
         6811  +		      elif test -n "$old_library"; then
         6812  +			add="$dir/$old_library"
         6813  +		      fi
         6814  +		    fi
         6815  +		esac
         6816  +	      elif test "$hardcode_minus_L" = no; then
         6817  +		case $host in
         6818  +		*-*-sunos*) add_shlibpath="$dir" ;;
         6819  +		esac
         6820  +		add_dir="-L$dir"
         6821  +		add="-l$name"
         6822  +	      elif test "$hardcode_shlibpath_var" = no; then
         6823  +		add_shlibpath="$dir"
         6824  +		add="-l$name"
         6825  +	      else
         6826  +		lib_linked=no
         6827  +	      fi
         6828  +	      ;;
         6829  +	    relink)
         6830  +	      if test "$hardcode_direct" = yes &&
         6831  +	         test "$hardcode_direct_absolute" = no; then
         6832  +		add="$dir/$linklib"
         6833  +	      elif test "$hardcode_minus_L" = yes; then
         6834  +		add_dir="-L$dir"
         6835  +		# Try looking first in the location we're being installed to.
         6836  +		if test -n "$inst_prefix_dir"; then
         6837  +		  case $libdir in
         6838  +		    [\\/]*)
         6839  +		      func_append add_dir " -L$inst_prefix_dir$libdir"
         6840  +		      ;;
         6841  +		  esac
         6842  +		fi
         6843  +		add="-l$name"
         6844  +	      elif test "$hardcode_shlibpath_var" = yes; then
         6845  +		add_shlibpath="$dir"
         6846  +		add="-l$name"
         6847  +	      else
         6848  +		lib_linked=no
         6849  +	      fi
         6850  +	      ;;
         6851  +	    *) lib_linked=no ;;
         6852  +	    esac
         6853  +
         6854  +	    if test "$lib_linked" != yes; then
         6855  +	      func_fatal_configuration "unsupported hardcode properties"
         6856  +	    fi
         6857  +
         6858  +	    if test -n "$add_shlibpath"; then
         6859  +	      case :$compile_shlibpath: in
         6860  +	      *":$add_shlibpath:"*) ;;
         6861  +	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
         6862  +	      esac
         6863  +	    fi
         6864  +	    if test "$linkmode" = prog; then
         6865  +	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
         6866  +	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
         6867  +	    else
         6868  +	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
         6869  +	      test -n "$add" && deplibs="$add $deplibs"
         6870  +	      if test "$hardcode_direct" != yes &&
         6871  +		 test "$hardcode_minus_L" != yes &&
         6872  +		 test "$hardcode_shlibpath_var" = yes; then
         6873  +		case :$finalize_shlibpath: in
         6874  +		*":$libdir:"*) ;;
         6875  +		*) func_append finalize_shlibpath "$libdir:" ;;
         6876  +		esac
         6877  +	      fi
         6878  +	    fi
         6879  +	  fi
         6880  +
         6881  +	  if test "$linkmode" = prog || test "$opt_mode" = relink; then
         6882  +	    add_shlibpath=
         6883  +	    add_dir=
         6884  +	    add=
         6885  +	    # Finalize command for both is simple: just hardcode it.
         6886  +	    if test "$hardcode_direct" = yes &&
         6887  +	       test "$hardcode_direct_absolute" = no; then
         6888  +	      add="$libdir/$linklib"
         6889  +	    elif test "$hardcode_minus_L" = yes; then
         6890  +	      add_dir="-L$libdir"
         6891  +	      add="-l$name"
         6892  +	    elif test "$hardcode_shlibpath_var" = yes; then
         6893  +	      case :$finalize_shlibpath: in
         6894  +	      *":$libdir:"*) ;;
         6895  +	      *) func_append finalize_shlibpath "$libdir:" ;;
         6896  +	      esac
         6897  +	      add="-l$name"
         6898  +	    elif test "$hardcode_automatic" = yes; then
         6899  +	      if test -n "$inst_prefix_dir" &&
         6900  +		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
         6901  +		add="$inst_prefix_dir$libdir/$linklib"
         6902  +	      else
         6903  +		add="$libdir/$linklib"
         6904  +	      fi
         6905  +	    else
         6906  +	      # We cannot seem to hardcode it, guess we'll fake it.
         6907  +	      add_dir="-L$libdir"
         6908  +	      # Try looking first in the location we're being installed to.
         6909  +	      if test -n "$inst_prefix_dir"; then
         6910  +		case $libdir in
         6911  +		  [\\/]*)
         6912  +		    func_append add_dir " -L$inst_prefix_dir$libdir"
         6913  +		    ;;
         6914  +		esac
         6915  +	      fi
         6916  +	      add="-l$name"
         6917  +	    fi
         6918  +
         6919  +	    if test "$linkmode" = prog; then
         6920  +	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
         6921  +	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
         6922  +	    else
         6923  +	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
         6924  +	      test -n "$add" && deplibs="$add $deplibs"
         6925  +	    fi
         6926  +	  fi
         6927  +	elif test "$linkmode" = prog; then
         6928  +	  # Here we assume that one of hardcode_direct or hardcode_minus_L
         6929  +	  # is not unsupported.  This is valid on all known static and
         6930  +	  # shared platforms.
         6931  +	  if test "$hardcode_direct" != unsupported; then
         6932  +	    test -n "$old_library" && linklib="$old_library"
         6933  +	    compile_deplibs="$dir/$linklib $compile_deplibs"
         6934  +	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
         6935  +	  else
         6936  +	    compile_deplibs="-l$name -L$dir $compile_deplibs"
         6937  +	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
         6938  +	  fi
         6939  +	elif test "$build_libtool_libs" = yes; then
         6940  +	  # Not a shared library
         6941  +	  if test "$deplibs_check_method" != pass_all; then
         6942  +	    # We're trying link a shared library against a static one
         6943  +	    # but the system doesn't support it.
         6944  +
         6945  +	    # Just print a warning and add the library to dependency_libs so
         6946  +	    # that the program can be linked against the static library.
         6947  +	    echo
         6948  +	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
         6949  +	    echo "*** I have the capability to make that library automatically link in when"
         6950  +	    echo "*** you link to this library.  But I can only do this if you have a"
         6951  +	    echo "*** shared version of the library, which you do not appear to have."
         6952  +	    if test "$module" = yes; then
         6953  +	      echo "*** But as you try to build a module library, libtool will still create "
         6954  +	      echo "*** a static module, that should work as long as the dlopening application"
         6955  +	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
         6956  +	      if test -z "$global_symbol_pipe"; then
         6957  +		echo
         6958  +		echo "*** However, this would only work if libtool was able to extract symbol"
         6959  +		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
         6960  +		echo "*** not find such a program.  So, this module is probably useless."
         6961  +		echo "*** \`nm' from GNU binutils and a full rebuild may help."
         6962  +	      fi
         6963  +	      if test "$build_old_libs" = no; then
         6964  +		build_libtool_libs=module
         6965  +		build_old_libs=yes
         6966  +	      else
         6967  +		build_libtool_libs=no
         6968  +	      fi
         6969  +	    fi
         6970  +	  else
         6971  +	    deplibs="$dir/$old_library $deplibs"
         6972  +	    link_static=yes
         6973  +	  fi
         6974  +	fi # link shared/static library?
         6975  +
         6976  +	if test "$linkmode" = lib; then
         6977  +	  if test -n "$dependency_libs" &&
         6978  +	     { test "$hardcode_into_libs" != yes ||
         6979  +	       test "$build_old_libs" = yes ||
         6980  +	       test "$link_static" = yes; }; then
         6981  +	    # Extract -R from dependency_libs
         6982  +	    temp_deplibs=
         6983  +	    for libdir in $dependency_libs; do
         6984  +	      case $libdir in
         6985  +	      -R*) func_stripname '-R' '' "$libdir"
         6986  +	           temp_xrpath=$func_stripname_result
         6987  +		   case " $xrpath " in
         6988  +		   *" $temp_xrpath "*) ;;
         6989  +		   *) func_append xrpath " $temp_xrpath";;
         6990  +		   esac;;
         6991  +	      *) func_append temp_deplibs " $libdir";;
         6992  +	      esac
         6993  +	    done
         6994  +	    dependency_libs="$temp_deplibs"
         6995  +	  fi
         6996  +
         6997  +	  func_append newlib_search_path " $absdir"
         6998  +	  # Link against this library
         6999  +	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
         7000  +	  # ... and its dependency_libs
         7001  +	  tmp_libs=
         7002  +	  for deplib in $dependency_libs; do
         7003  +	    newdependency_libs="$deplib $newdependency_libs"
         7004  +	    case $deplib in
         7005  +              -L*) func_stripname '-L' '' "$deplib"
         7006  +                   func_resolve_sysroot "$func_stripname_result";;
         7007  +              *) func_resolve_sysroot "$deplib" ;;
         7008  +            esac
         7009  +	    if $opt_preserve_dup_deps ; then
         7010  +	      case "$tmp_libs " in
         7011  +	      *" $func_resolve_sysroot_result "*)
         7012  +                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
         7013  +	      esac
         7014  +	    fi
         7015  +	    func_append tmp_libs " $func_resolve_sysroot_result"
         7016  +	  done
         7017  +
         7018  +	  if test "$link_all_deplibs" != no; then
         7019  +	    # Add the search paths of all dependency libraries
         7020  +	    for deplib in $dependency_libs; do
         7021  +	      path=
         7022  +	      case $deplib in
         7023  +	      -L*) path="$deplib" ;;
         7024  +	      *.la)
         7025  +	        func_resolve_sysroot "$deplib"
         7026  +	        deplib=$func_resolve_sysroot_result
         7027  +	        func_dirname "$deplib" "" "."
         7028  +		dir=$func_dirname_result
         7029  +		# We need an absolute path.
         7030  +		case $dir in
         7031  +		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
         7032  +		*)
         7033  +		  absdir=`cd "$dir" && pwd`
         7034  +		  if test -z "$absdir"; then
         7035  +		    func_warning "cannot determine absolute directory name of \`$dir'"
         7036  +		    absdir="$dir"
         7037  +		  fi
         7038  +		  ;;
         7039  +		esac
         7040  +		if $GREP "^installed=no" $deplib > /dev/null; then
         7041  +		case $host in
         7042  +		*-*-darwin*)
         7043  +		  depdepl=
         7044  +		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
         7045  +		  if test -n "$deplibrary_names" ; then
         7046  +		    for tmp in $deplibrary_names ; do
         7047  +		      depdepl=$tmp
         7048  +		    done
         7049  +		    if test -f "$absdir/$objdir/$depdepl" ; then
         7050  +		      depdepl="$absdir/$objdir/$depdepl"
         7051  +		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
         7052  +                      if test -z "$darwin_install_name"; then
         7053  +                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
         7054  +                      fi
         7055  +		      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
         7056  +		      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
         7057  +		      path=
         7058  +		    fi
         7059  +		  fi
         7060  +		  ;;
         7061  +		*)
         7062  +		  path="-L$absdir/$objdir"
         7063  +		  ;;
         7064  +		esac
         7065  +		else
         7066  +		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
         7067  +		  test -z "$libdir" && \
         7068  +		    func_fatal_error "\`$deplib' is not a valid libtool archive"
         7069  +		  test "$absdir" != "$libdir" && \
         7070  +		    func_warning "\`$deplib' seems to be moved"
         7071  +
         7072  +		  path="-L$absdir"
         7073  +		fi
         7074  +		;;
         7075  +	      esac
         7076  +	      case " $deplibs " in
         7077  +	      *" $path "*) ;;
         7078  +	      *) deplibs="$path $deplibs" ;;
         7079  +	      esac
         7080  +	    done
         7081  +	  fi # link_all_deplibs != no
         7082  +	fi # linkmode = lib
         7083  +      done # for deplib in $libs
         7084  +      if test "$pass" = link; then
         7085  +	if test "$linkmode" = "prog"; then
         7086  +	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
         7087  +	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
         7088  +	else
         7089  +	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
         7090  +	fi
         7091  +      fi
         7092  +      dependency_libs="$newdependency_libs"
         7093  +      if test "$pass" = dlpreopen; then
         7094  +	# Link the dlpreopened libraries before other libraries
         7095  +	for deplib in $save_deplibs; do
         7096  +	  deplibs="$deplib $deplibs"
         7097  +	done
         7098  +      fi
         7099  +      if test "$pass" != dlopen; then
         7100  +	if test "$pass" != conv; then
         7101  +	  # Make sure lib_search_path contains only unique directories.
         7102  +	  lib_search_path=
         7103  +	  for dir in $newlib_search_path; do
         7104  +	    case "$lib_search_path " in
         7105  +	    *" $dir "*) ;;
         7106  +	    *) func_append lib_search_path " $dir" ;;
         7107  +	    esac
         7108  +	  done
         7109  +	  newlib_search_path=
         7110  +	fi
         7111  +
         7112  +	if test "$linkmode,$pass" != "prog,link"; then
         7113  +	  vars="deplibs"
         7114  +	else
         7115  +	  vars="compile_deplibs finalize_deplibs"
         7116  +	fi
         7117  +	for var in $vars dependency_libs; do
         7118  +	  # Add libraries to $var in reverse order
         7119  +	  eval tmp_libs=\"\$$var\"
         7120  +	  new_libs=
         7121  +	  for deplib in $tmp_libs; do
         7122  +	    # FIXME: Pedantically, this is the right thing to do, so
         7123  +	    #        that some nasty dependency loop isn't accidentally
         7124  +	    #        broken:
         7125  +	    #new_libs="$deplib $new_libs"
         7126  +	    # Pragmatically, this seems to cause very few problems in
         7127  +	    # practice:
         7128  +	    case $deplib in
         7129  +	    -L*) new_libs="$deplib $new_libs" ;;
         7130  +	    -R*) ;;
         7131  +	    *)
         7132  +	      # And here is the reason: when a library appears more
         7133  +	      # than once as an explicit dependence of a library, or
         7134  +	      # is implicitly linked in more than once by the
         7135  +	      # compiler, it is considered special, and multiple
         7136  +	      # occurrences thereof are not removed.  Compare this
         7137  +	      # with having the same library being listed as a
         7138  +	      # dependency of multiple other libraries: in this case,
         7139  +	      # we know (pedantically, we assume) the library does not
         7140  +	      # need to be listed more than once, so we keep only the
         7141  +	      # last copy.  This is not always right, but it is rare
         7142  +	      # enough that we require users that really mean to play
         7143  +	      # such unportable linking tricks to link the library
         7144  +	      # using -Wl,-lname, so that libtool does not consider it
         7145  +	      # for duplicate removal.
         7146  +	      case " $specialdeplibs " in
         7147  +	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
         7148  +	      *)
         7149  +		case " $new_libs " in
         7150  +		*" $deplib "*) ;;
         7151  +		*) new_libs="$deplib $new_libs" ;;
         7152  +		esac
         7153  +		;;
         7154  +	      esac
         7155  +	      ;;
         7156  +	    esac
         7157  +	  done
         7158  +	  tmp_libs=
         7159  +	  for deplib in $new_libs; do
         7160  +	    case $deplib in
         7161  +	    -L*)
         7162  +	      case " $tmp_libs " in
         7163  +	      *" $deplib "*) ;;
         7164  +	      *) func_append tmp_libs " $deplib" ;;
         7165  +	      esac
         7166  +	      ;;
         7167  +	    *) func_append tmp_libs " $deplib" ;;
         7168  +	    esac
         7169  +	  done
         7170  +	  eval $var=\"$tmp_libs\"
         7171  +	done # for var
         7172  +      fi
         7173  +      # Last step: remove runtime libs from dependency_libs
         7174  +      # (they stay in deplibs)
         7175  +      tmp_libs=
         7176  +      for i in $dependency_libs ; do
         7177  +	case " $predeps $postdeps $compiler_lib_search_path " in
         7178  +	*" $i "*)
         7179  +	  i=""
         7180  +	  ;;
         7181  +	esac
         7182  +	if test -n "$i" ; then
         7183  +	  func_append tmp_libs " $i"
         7184  +	fi
         7185  +      done
         7186  +      dependency_libs=$tmp_libs
         7187  +    done # for pass
         7188  +    if test "$linkmode" = prog; then
         7189  +      dlfiles="$newdlfiles"
         7190  +    fi
         7191  +    if test "$linkmode" = prog || test "$linkmode" = lib; then
         7192  +      dlprefiles="$newdlprefiles"
         7193  +    fi
         7194  +
         7195  +    case $linkmode in
         7196  +    oldlib)
         7197  +      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
         7198  +	func_warning "\`-dlopen' is ignored for archives"
         7199  +      fi
         7200  +
         7201  +      case " $deplibs" in
         7202  +      *\ -l* | *\ -L*)
         7203  +	func_warning "\`-l' and \`-L' are ignored for archives" ;;
         7204  +      esac
         7205  +
         7206  +      test -n "$rpath" && \
         7207  +	func_warning "\`-rpath' is ignored for archives"
         7208  +
         7209  +      test -n "$xrpath" && \
         7210  +	func_warning "\`-R' is ignored for archives"
         7211  +
         7212  +      test -n "$vinfo" && \
         7213  +	func_warning "\`-version-info/-version-number' is ignored for archives"
         7214  +
         7215  +      test -n "$release" && \
         7216  +	func_warning "\`-release' is ignored for archives"
         7217  +
         7218  +      test -n "$export_symbols$export_symbols_regex" && \
         7219  +	func_warning "\`-export-symbols' is ignored for archives"
         7220  +
         7221  +      # Now set the variables for building old libraries.
         7222  +      build_libtool_libs=no
         7223  +      oldlibs="$output"
         7224  +      func_append objs "$old_deplibs"
         7225  +      ;;
         7226  +
         7227  +    lib)
         7228  +      # Make sure we only generate libraries of the form `libNAME.la'.
         7229  +      case $outputname in
         7230  +      lib*)
         7231  +	func_stripname 'lib' '.la' "$outputname"
         7232  +	name=$func_stripname_result
         7233  +	eval shared_ext=\"$shrext_cmds\"
         7234  +	eval libname=\"$libname_spec\"
         7235  +	;;
         7236  +      *)
         7237  +	test "$module" = no && \
         7238  +	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
         7239  +
         7240  +	if test "$need_lib_prefix" != no; then
         7241  +	  # Add the "lib" prefix for modules if required
         7242  +	  func_stripname '' '.la' "$outputname"
         7243  +	  name=$func_stripname_result
         7244  +	  eval shared_ext=\"$shrext_cmds\"
         7245  +	  eval libname=\"$libname_spec\"
         7246  +	else
         7247  +	  func_stripname '' '.la' "$outputname"
         7248  +	  libname=$func_stripname_result
         7249  +	fi
         7250  +	;;
         7251  +      esac
         7252  +
         7253  +      if test -n "$objs"; then
         7254  +	if test "$deplibs_check_method" != pass_all; then
         7255  +	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
         7256  +	else
         7257  +	  echo
         7258  +	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
         7259  +	  $ECHO "*** objects $objs is not portable!"
         7260  +	  func_append libobjs " $objs"
         7261  +	fi
         7262  +      fi
         7263  +
         7264  +      test "$dlself" != no && \
         7265  +	func_warning "\`-dlopen self' is ignored for libtool libraries"
         7266  +
         7267  +      set dummy $rpath
         7268  +      shift
         7269  +      test "$#" -gt 1 && \
         7270  +	func_warning "ignoring multiple \`-rpath's for a libtool library"
         7271  +
         7272  +      install_libdir="$1"
         7273  +
         7274  +      oldlibs=
         7275  +      if test -z "$rpath"; then
         7276  +	if test "$build_libtool_libs" = yes; then
         7277  +	  # Building a libtool convenience library.
         7278  +	  # Some compilers have problems with a `.al' extension so
         7279  +	  # convenience libraries should have the same extension an
         7280  +	  # archive normally would.
         7281  +	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
         7282  +	  build_libtool_libs=convenience
         7283  +	  build_old_libs=yes
         7284  +	fi
         7285  +
         7286  +	test -n "$vinfo" && \
         7287  +	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
         7288  +
         7289  +	test -n "$release" && \
         7290  +	  func_warning "\`-release' is ignored for convenience libraries"
         7291  +      else
         7292  +
         7293  +	# Parse the version information argument.
         7294  +	save_ifs="$IFS"; IFS=':'
         7295  +	set dummy $vinfo 0 0 0
         7296  +	shift
         7297  +	IFS="$save_ifs"
         7298  +
         7299  +	test -n "$7" && \
         7300  +	  func_fatal_help "too many parameters to \`-version-info'"
         7301  +
         7302  +	# convert absolute version numbers to libtool ages
         7303  +	# this retains compatibility with .la files and attempts
         7304  +	# to make the code below a bit more comprehensible
         7305  +
         7306  +	case $vinfo_number in
         7307  +	yes)
         7308  +	  number_major="$1"
         7309  +	  number_minor="$2"
         7310  +	  number_revision="$3"
         7311  +	  #
         7312  +	  # There are really only two kinds -- those that
         7313  +	  # use the current revision as the major version
         7314  +	  # and those that subtract age and use age as
         7315  +	  # a minor version.  But, then there is irix
         7316  +	  # which has an extra 1 added just for fun
         7317  +	  #
         7318  +	  case $version_type in
         7319  +	  darwin|linux|osf|windows|none)
         7320  +	    func_arith $number_major + $number_minor
         7321  +	    current=$func_arith_result
         7322  +	    age="$number_minor"
         7323  +	    revision="$number_revision"
         7324  +	    ;;
         7325  +	  freebsd-aout|freebsd-elf|qnx|sunos)
         7326  +	    current="$number_major"
         7327  +	    revision="$number_minor"
         7328  +	    age="0"
         7329  +	    ;;
         7330  +	  irix|nonstopux)
         7331  +	    func_arith $number_major + $number_minor
         7332  +	    current=$func_arith_result
         7333  +	    age="$number_minor"
         7334  +	    revision="$number_minor"
         7335  +	    lt_irix_increment=no
         7336  +	    ;;
         7337  +	  esac
         7338  +	  ;;
         7339  +	no)
         7340  +	  current="$1"
         7341  +	  revision="$2"
         7342  +	  age="$3"
         7343  +	  ;;
         7344  +	esac
         7345  +
         7346  +	# Check that each of the things are valid numbers.
         7347  +	case $current in
         7348  +	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]) ;;
         7349  +	*)
         7350  +	  func_error "CURRENT \`$current' must be a nonnegative integer"
         7351  +	  func_fatal_error "\`$vinfo' is not valid version information"
         7352  +	  ;;
         7353  +	esac
         7354  +
         7355  +	case $revision in
         7356  +	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]) ;;
         7357  +	*)
         7358  +	  func_error "REVISION \`$revision' must be a nonnegative integer"
         7359  +	  func_fatal_error "\`$vinfo' is not valid version information"
         7360  +	  ;;
         7361  +	esac
         7362  +
         7363  +	case $age in
         7364  +	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]) ;;
         7365  +	*)
         7366  +	  func_error "AGE \`$age' must be a nonnegative integer"
         7367  +	  func_fatal_error "\`$vinfo' is not valid version information"
         7368  +	  ;;
         7369  +	esac
         7370  +
         7371  +	if test "$age" -gt "$current"; then
         7372  +	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
         7373  +	  func_fatal_error "\`$vinfo' is not valid version information"
         7374  +	fi
         7375  +
         7376  +	# Calculate the version variables.
         7377  +	major=
         7378  +	versuffix=
         7379  +	verstring=
         7380  +	case $version_type in
         7381  +	none) ;;
         7382  +
         7383  +	darwin)
         7384  +	  # Like Linux, but with the current version available in
         7385  +	  # verstring for coding it into the library header
         7386  +	  func_arith $current - $age
         7387  +	  major=.$func_arith_result
         7388  +	  versuffix="$major.$age.$revision"
         7389  +	  # Darwin ld doesn't like 0 for these options...
         7390  +	  func_arith $current + 1
         7391  +	  minor_current=$func_arith_result
         7392  +	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
         7393  +	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
         7394  +	  ;;
         7395  +
         7396  +	freebsd-aout)
         7397  +	  major=".$current"
         7398  +	  versuffix=".$current.$revision";
         7399  +	  ;;
         7400  +
         7401  +	freebsd-elf)
         7402  +	  major=".$current"
         7403  +	  versuffix=".$current"
         7404  +	  ;;
         7405  +
         7406  +	irix | nonstopux)
         7407  +	  if test "X$lt_irix_increment" = "Xno"; then
         7408  +	    func_arith $current - $age
         7409  +	  else
         7410  +	    func_arith $current - $age + 1
         7411  +	  fi
         7412  +	  major=$func_arith_result
         7413  +
         7414  +	  case $version_type in
         7415  +	    nonstopux) verstring_prefix=nonstopux ;;
         7416  +	    *)         verstring_prefix=sgi ;;
         7417  +	  esac
         7418  +	  verstring="$verstring_prefix$major.$revision"
         7419  +
         7420  +	  # Add in all the interfaces that we are compatible with.
         7421  +	  loop=$revision
         7422  +	  while test "$loop" -ne 0; do
         7423  +	    func_arith $revision - $loop
         7424  +	    iface=$func_arith_result
         7425  +	    func_arith $loop - 1
         7426  +	    loop=$func_arith_result
         7427  +	    verstring="$verstring_prefix$major.$iface:$verstring"
         7428  +	  done
         7429  +
         7430  +	  # Before this point, $major must not contain `.'.
         7431  +	  major=.$major
         7432  +	  versuffix="$major.$revision"
         7433  +	  ;;
         7434  +
         7435  +	linux)
         7436  +	  func_arith $current - $age
         7437  +	  major=.$func_arith_result
         7438  +	  versuffix="$major.$age.$revision"
         7439  +	  ;;
         7440  +
         7441  +	osf)
         7442  +	  func_arith $current - $age
         7443  +	  major=.$func_arith_result
         7444  +	  versuffix=".$current.$age.$revision"
         7445  +	  verstring="$current.$age.$revision"
         7446  +
         7447  +	  # Add in all the interfaces that we are compatible with.
         7448  +	  loop=$age
         7449  +	  while test "$loop" -ne 0; do
         7450  +	    func_arith $current - $loop
         7451  +	    iface=$func_arith_result
         7452  +	    func_arith $loop - 1
         7453  +	    loop=$func_arith_result
         7454  +	    verstring="$verstring:${iface}.0"
         7455  +	  done
         7456  +
         7457  +	  # Make executables depend on our current version.
         7458  +	  func_append verstring ":${current}.0"
         7459  +	  ;;
         7460  +
         7461  +	qnx)
         7462  +	  major=".$current"
         7463  +	  versuffix=".$current"
         7464  +	  ;;
         7465  +
         7466  +	sunos)
         7467  +	  major=".$current"
         7468  +	  versuffix=".$current.$revision"
         7469  +	  ;;
         7470  +
         7471  +	windows)
         7472  +	  # Use '-' rather than '.', since we only want one
         7473  +	  # extension on DOS 8.3 filesystems.
         7474  +	  func_arith $current - $age
         7475  +	  major=$func_arith_result
         7476  +	  versuffix="-$major"
         7477  +	  ;;
         7478  +
         7479  +	*)
         7480  +	  func_fatal_configuration "unknown library version type \`$version_type'"
         7481  +	  ;;
         7482  +	esac
         7483  +
         7484  +	# Clear the version info if we defaulted, and they specified a release.
         7485  +	if test -z "$vinfo" && test -n "$release"; then
         7486  +	  major=
         7487  +	  case $version_type in
         7488  +	  darwin)
         7489  +	    # we can't check for "0.0" in archive_cmds due to quoting
         7490  +	    # problems, so we reset it completely
         7491  +	    verstring=
         7492  +	    ;;
         7493  +	  *)
         7494  +	    verstring="0.0"
         7495  +	    ;;
         7496  +	  esac
         7497  +	  if test "$need_version" = no; then
         7498  +	    versuffix=
         7499  +	  else
         7500  +	    versuffix=".0.0"
         7501  +	  fi
         7502  +	fi
         7503  +
         7504  +	# Remove version info from name if versioning should be avoided
         7505  +	if test "$avoid_version" = yes && test "$need_version" = no; then
         7506  +	  major=
         7507  +	  versuffix=
         7508  +	  verstring=""
         7509  +	fi
         7510  +
         7511  +	# Check to see if the archive will have undefined symbols.
         7512  +	if test "$allow_undefined" = yes; then
         7513  +	  if test "$allow_undefined_flag" = unsupported; then
         7514  +	    func_warning "undefined symbols not allowed in $host shared libraries"
         7515  +	    build_libtool_libs=no
         7516  +	    build_old_libs=yes
         7517  +	  fi
         7518  +	else
         7519  +	  # Don't allow undefined symbols.
         7520  +	  allow_undefined_flag="$no_undefined_flag"
         7521  +	fi
         7522  +
         7523  +      fi
         7524  +
         7525  +      func_generate_dlsyms "$libname" "$libname" "yes"
         7526  +      func_append libobjs " $symfileobj"
         7527  +      test "X$libobjs" = "X " && libobjs=
         7528  +
         7529  +      if test "$opt_mode" != relink; then
         7530  +	# Remove our outputs, but don't remove object files since they
         7531  +	# may have been created when compiling PIC objects.
         7532  +	removelist=
         7533  +	tempremovelist=`$ECHO "$output_objdir/*"`
         7534  +	for p in $tempremovelist; do
         7535  +	  case $p in
         7536  +	    *.$objext | *.gcno)
         7537  +	       ;;
         7538  +	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
         7539  +	       if test "X$precious_files_regex" != "X"; then
         7540  +		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
         7541  +		 then
         7542  +		   continue
         7543  +		 fi
         7544  +	       fi
         7545  +	       func_append removelist " $p"
         7546  +	       ;;
         7547  +	    *) ;;
         7548  +	  esac
         7549  +	done
         7550  +	test -n "$removelist" && \
         7551  +	  func_show_eval "${RM}r \$removelist"
         7552  +      fi
         7553  +
         7554  +      # Now set the variables for building old libraries.
         7555  +      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
         7556  +	func_append oldlibs " $output_objdir/$libname.$libext"
         7557  +
         7558  +	# Transform .lo files to .o files.
         7559  +	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
         7560  +      fi
         7561  +
         7562  +      # Eliminate all temporary directories.
         7563  +      #for path in $notinst_path; do
         7564  +      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
         7565  +      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
         7566  +      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
         7567  +      #done
         7568  +
         7569  +      if test -n "$xrpath"; then
         7570  +	# If the user specified any rpath flags, then add them.
         7571  +	temp_xrpath=
         7572  +	for libdir in $xrpath; do
         7573  +	  func_replace_sysroot "$libdir"
         7574  +	  func_append temp_xrpath " -R$func_replace_sysroot_result"
         7575  +	  case "$finalize_rpath " in
         7576  +	  *" $libdir "*) ;;
         7577  +	  *) func_append finalize_rpath " $libdir" ;;
         7578  +	  esac
         7579  +	done
         7580  +	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
         7581  +	  dependency_libs="$temp_xrpath $dependency_libs"
         7582  +	fi
         7583  +      fi
         7584  +
         7585  +      # Make sure dlfiles contains only unique files that won't be dlpreopened
         7586  +      old_dlfiles="$dlfiles"
         7587  +      dlfiles=
         7588  +      for lib in $old_dlfiles; do
         7589  +	case " $dlprefiles $dlfiles " in
         7590  +	*" $lib "*) ;;
         7591  +	*) func_append dlfiles " $lib" ;;
         7592  +	esac
         7593  +      done
         7594  +
         7595  +      # Make sure dlprefiles contains only unique files
         7596  +      old_dlprefiles="$dlprefiles"
         7597  +      dlprefiles=
         7598  +      for lib in $old_dlprefiles; do
         7599  +	case "$dlprefiles " in
         7600  +	*" $lib "*) ;;
         7601  +	*) func_append dlprefiles " $lib" ;;
         7602  +	esac
         7603  +      done
         7604  +
         7605  +      if test "$build_libtool_libs" = yes; then
         7606  +	if test -n "$rpath"; then
         7607  +	  case $host in
         7608  +	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
         7609  +	    # these systems don't actually have a c library (as such)!
         7610  +	    ;;
         7611  +	  *-*-rhapsody* | *-*-darwin1.[012])
         7612  +	    # Rhapsody C library is in the System framework
         7613  +	    func_append deplibs " System.ltframework"
         7614  +	    ;;
         7615  +	  *-*-netbsd*)
         7616  +	    # Don't link with libc until the a.out ld.so is fixed.
         7617  +	    ;;
         7618  +	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
         7619  +	    # Do not include libc due to us having libc/libc_r.
         7620  +	    ;;
         7621  +	  *-*-sco3.2v5* | *-*-sco5v6*)
         7622  +	    # Causes problems with __ctype
         7623  +	    ;;
         7624  +	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
         7625  +	    # Compiler inserts libc in the correct place for threads to work
         7626  +	    ;;
         7627  +	  *)
         7628  +	    # Add libc to deplibs on all other systems if necessary.
         7629  +	    if test "$build_libtool_need_lc" = "yes"; then
         7630  +	      func_append deplibs " -lc"
         7631  +	    fi
         7632  +	    ;;
         7633  +	  esac
         7634  +	fi
         7635  +
         7636  +	# Transform deplibs into only deplibs that can be linked in shared.
         7637  +	name_save=$name
         7638  +	libname_save=$libname
         7639  +	release_save=$release
         7640  +	versuffix_save=$versuffix
         7641  +	major_save=$major
         7642  +	# I'm not sure if I'm treating the release correctly.  I think
         7643  +	# release should show up in the -l (ie -lgmp5) so we don't want to
         7644  +	# add it in twice.  Is that correct?
         7645  +	release=""
         7646  +	versuffix=""
         7647  +	major=""
         7648  +	newdeplibs=
         7649  +	droppeddeps=no
         7650  +	case $deplibs_check_method in
         7651  +	pass_all)
         7652  +	  # Don't check for shared/static.  Everything works.
         7653  +	  # This might be a little naive.  We might want to check
         7654  +	  # whether the library exists or not.  But this is on
         7655  +	  # osf3 & osf4 and I'm not really sure... Just
         7656  +	  # implementing what was already the behavior.
         7657  +	  newdeplibs=$deplibs
         7658  +	  ;;
         7659  +	test_compile)
         7660  +	  # This code stresses the "libraries are programs" paradigm to its
         7661  +	  # limits. Maybe even breaks it.  We compile a program, linking it
         7662  +	  # against the deplibs as a proxy for the library.  Then we can check
         7663  +	  # whether they linked in statically or dynamically with ldd.
         7664  +	  $opt_dry_run || $RM conftest.c
         7665  +	  cat > conftest.c <<EOF
         7666  +	  int main() { return 0; }
         7667  +EOF
         7668  +	  $opt_dry_run || $RM conftest
         7669  +	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
         7670  +	    ldd_output=`ldd conftest`
         7671  +	    for i in $deplibs; do
         7672  +	      case $i in
         7673  +	      -l*)
         7674  +		func_stripname -l '' "$i"
         7675  +		name=$func_stripname_result
         7676  +		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
         7677  +		  case " $predeps $postdeps " in
         7678  +		  *" $i "*)
         7679  +		    func_append newdeplibs " $i"
         7680  +		    i=""
         7681  +		    ;;
         7682  +		  esac
         7683  +		fi
         7684  +		if test -n "$i" ; then
         7685  +		  libname=`eval "\\$ECHO \"$libname_spec\""`
         7686  +		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
         7687  +		  set dummy $deplib_matches; shift
         7688  +		  deplib_match=$1
         7689  +		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
         7690  +		    func_append newdeplibs " $i"
         7691  +		  else
         7692  +		    droppeddeps=yes
         7693  +		    echo
         7694  +		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
         7695  +		    echo "*** I have the capability to make that library automatically link in when"
         7696  +		    echo "*** you link to this library.  But I can only do this if you have a"
         7697  +		    echo "*** shared version of the library, which I believe you do not have"
         7698  +		    echo "*** because a test_compile did reveal that the linker did not use it for"
         7699  +		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
         7700  +		  fi
         7701  +		fi
         7702  +		;;
         7703  +	      *)
         7704  +		func_append newdeplibs " $i"
         7705  +		;;
         7706  +	      esac
         7707  +	    done
         7708  +	  else
         7709  +	    # Error occurred in the first compile.  Let's try to salvage
         7710  +	    # the situation: Compile a separate program for each library.
         7711  +	    for i in $deplibs; do
         7712  +	      case $i in
         7713  +	      -l*)
         7714  +		func_stripname -l '' "$i"
         7715  +		name=$func_stripname_result
         7716  +		$opt_dry_run || $RM conftest
         7717  +		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
         7718  +		  ldd_output=`ldd conftest`
         7719  +		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
         7720  +		    case " $predeps $postdeps " in
         7721  +		    *" $i "*)
         7722  +		      func_append newdeplibs " $i"
         7723  +		      i=""
         7724  +		      ;;
         7725  +		    esac
         7726  +		  fi
         7727  +		  if test -n "$i" ; then
         7728  +		    libname=`eval "\\$ECHO \"$libname_spec\""`
         7729  +		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
         7730  +		    set dummy $deplib_matches; shift
         7731  +		    deplib_match=$1
         7732  +		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
         7733  +		      func_append newdeplibs " $i"
         7734  +		    else
         7735  +		      droppeddeps=yes
         7736  +		      echo
         7737  +		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
         7738  +		      echo "*** I have the capability to make that library automatically link in when"
         7739  +		      echo "*** you link to this library.  But I can only do this if you have a"
         7740  +		      echo "*** shared version of the library, which you do not appear to have"
         7741  +		      echo "*** because a test_compile did reveal that the linker did not use this one"
         7742  +		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
         7743  +		    fi
         7744  +		  fi
         7745  +		else
         7746  +		  droppeddeps=yes
         7747  +		  echo
         7748  +		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
         7749  +		  echo "*** make it link in!  You will probably need to install it or some"
         7750  +		  echo "*** library that it depends on before this library will be fully"
         7751  +		  echo "*** functional.  Installing it before continuing would be even better."
         7752  +		fi
         7753  +		;;
         7754  +	      *)
         7755  +		func_append newdeplibs " $i"
         7756  +		;;
         7757  +	      esac
         7758  +	    done
         7759  +	  fi
         7760  +	  ;;
         7761  +	file_magic*)
         7762  +	  set dummy $deplibs_check_method; shift
         7763  +	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
         7764  +	  for a_deplib in $deplibs; do
         7765  +	    case $a_deplib in
         7766  +	    -l*)
         7767  +	      func_stripname -l '' "$a_deplib"
         7768  +	      name=$func_stripname_result
         7769  +	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
         7770  +		case " $predeps $postdeps " in
         7771  +		*" $a_deplib "*)
         7772  +		  func_append newdeplibs " $a_deplib"
         7773  +		  a_deplib=""
         7774  +		  ;;
         7775  +		esac
         7776  +	      fi
         7777  +	      if test -n "$a_deplib" ; then
         7778  +		libname=`eval "\\$ECHO \"$libname_spec\""`
         7779  +		if test -n "$file_magic_glob"; then
         7780  +		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
         7781  +		else
         7782  +		  libnameglob=$libname
         7783  +		fi
         7784  +		test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
         7785  +		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
         7786  +		  if test "$want_nocaseglob" = yes; then
         7787  +		    shopt -s nocaseglob
         7788  +		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
         7789  +		    $nocaseglob
         7790  +		  else
         7791  +		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
         7792  +		  fi
         7793  +		  for potent_lib in $potential_libs; do
         7794  +		      # Follow soft links.
         7795  +		      if ls -lLd "$potent_lib" 2>/dev/null |
         7796  +			 $GREP " -> " >/dev/null; then
         7797  +			continue
         7798  +		      fi
         7799  +		      # The statement above tries to avoid entering an
         7800  +		      # endless loop below, in case of cyclic links.
         7801  +		      # We might still enter an endless loop, since a link
         7802  +		      # loop can be closed while we follow links,
         7803  +		      # but so what?
         7804  +		      potlib="$potent_lib"
         7805  +		      while test -h "$potlib" 2>/dev/null; do
         7806  +			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
         7807  +			case $potliblink in
         7808  +			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
         7809  +			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
         7810  +			esac
         7811  +		      done
         7812  +		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
         7813  +			 $SED -e 10q |
         7814  +			 $EGREP "$file_magic_regex" > /dev/null; then
         7815  +			func_append newdeplibs " $a_deplib"
         7816  +			a_deplib=""
         7817  +			break 2
         7818  +		      fi
         7819  +		  done
         7820  +		done
         7821  +	      fi
         7822  +	      if test -n "$a_deplib" ; then
         7823  +		droppeddeps=yes
         7824  +		echo
         7825  +		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
         7826  +		echo "*** I have the capability to make that library automatically link in when"
         7827  +		echo "*** you link to this library.  But I can only do this if you have a"
         7828  +		echo "*** shared version of the library, which you do not appear to have"
         7829  +		echo "*** because I did check the linker path looking for a file starting"
         7830  +		if test -z "$potlib" ; then
         7831  +		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
         7832  +		else
         7833  +		  $ECHO "*** with $libname and none of the candidates passed a file format test"
         7834  +		  $ECHO "*** using a file magic. Last file checked: $potlib"
         7835  +		fi
         7836  +	      fi
         7837  +	      ;;
         7838  +	    *)
         7839  +	      # Add a -L argument.
         7840  +	      func_append newdeplibs " $a_deplib"
         7841  +	      ;;
         7842  +	    esac
         7843  +	  done # Gone through all deplibs.
         7844  +	  ;;
         7845  +	match_pattern*)
         7846  +	  set dummy $deplibs_check_method; shift
         7847  +	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
         7848  +	  for a_deplib in $deplibs; do
         7849  +	    case $a_deplib in
         7850  +	    -l*)
         7851  +	      func_stripname -l '' "$a_deplib"
         7852  +	      name=$func_stripname_result
         7853  +	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
         7854  +		case " $predeps $postdeps " in
         7855  +		*" $a_deplib "*)
         7856  +		  func_append newdeplibs " $a_deplib"
         7857  +		  a_deplib=""
         7858  +		  ;;
         7859  +		esac
         7860  +	      fi
         7861  +	      if test -n "$a_deplib" ; then
         7862  +		libname=`eval "\\$ECHO \"$libname_spec\""`
         7863  +		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
         7864  +		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
         7865  +		  for potent_lib in $potential_libs; do
         7866  +		    potlib="$potent_lib" # see symlink-check above in file_magic test
         7867  +		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
         7868  +		       $EGREP "$match_pattern_regex" > /dev/null; then
         7869  +		      func_append newdeplibs " $a_deplib"
         7870  +		      a_deplib=""
         7871  +		      break 2
         7872  +		    fi
         7873  +		  done
         7874  +		done
         7875  +	      fi
         7876  +	      if test -n "$a_deplib" ; then
         7877  +		droppeddeps=yes
         7878  +		echo
         7879  +		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
         7880  +		echo "*** I have the capability to make that library automatically link in when"
         7881  +		echo "*** you link to this library.  But I can only do this if you have a"
         7882  +		echo "*** shared version of the library, which you do not appear to have"
         7883  +		echo "*** because I did check the linker path looking for a file starting"
         7884  +		if test -z "$potlib" ; then
         7885  +		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
         7886  +		else
         7887  +		  $ECHO "*** with $libname and none of the candidates passed a file format test"
         7888  +		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
         7889  +		fi
         7890  +	      fi
         7891  +	      ;;
         7892  +	    *)
         7893  +	      # Add a -L argument.
         7894  +	      func_append newdeplibs " $a_deplib"
         7895  +	      ;;
         7896  +	    esac
         7897  +	  done # Gone through all deplibs.
         7898  +	  ;;
         7899  +	none | unknown | *)
         7900  +	  newdeplibs=""
         7901  +	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
         7902  +	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
         7903  +	    for i in $predeps $postdeps ; do
         7904  +	      # can't use Xsed below, because $i might contain '/'
         7905  +	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
         7906  +	    done
         7907  +	  fi
         7908  +	  case $tmp_deplibs in
         7909  +	  *[!\	\ ]*)
         7910  +	    echo
         7911  +	    if test "X$deplibs_check_method" = "Xnone"; then
         7912  +	      echo "*** Warning: inter-library dependencies are not supported in this platform."
         7913  +	    else
         7914  +	      echo "*** Warning: inter-library dependencies are not known to be supported."
         7915  +	    fi
         7916  +	    echo "*** All declared inter-library dependencies are being dropped."
         7917  +	    droppeddeps=yes
         7918  +	    ;;
         7919  +	  esac
         7920  +	  ;;
         7921  +	esac
         7922  +	versuffix=$versuffix_save
         7923  +	major=$major_save
         7924  +	release=$release_save
         7925  +	libname=$libname_save
         7926  +	name=$name_save
         7927  +
         7928  +	case $host in
         7929  +	*-*-rhapsody* | *-*-darwin1.[012])
         7930  +	  # On Rhapsody replace the C library with the System framework
         7931  +	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
         7932  +	  ;;
         7933  +	esac
         7934  +
         7935  +	if test "$droppeddeps" = yes; then
         7936  +	  if test "$module" = yes; then
         7937  +	    echo
         7938  +	    echo "*** Warning: libtool could not satisfy all declared inter-library"
         7939  +	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
         7940  +	    echo "*** a static module, that should work as long as the dlopening"
         7941  +	    echo "*** application is linked with the -dlopen flag."
         7942  +	    if test -z "$global_symbol_pipe"; then
         7943  +	      echo
         7944  +	      echo "*** However, this would only work if libtool was able to extract symbol"
         7945  +	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
         7946  +	      echo "*** not find such a program.  So, this module is probably useless."
         7947  +	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
         7948  +	    fi
         7949  +	    if test "$build_old_libs" = no; then
         7950  +	      oldlibs="$output_objdir/$libname.$libext"
         7951  +	      build_libtool_libs=module
         7952  +	      build_old_libs=yes
         7953  +	    else
         7954  +	      build_libtool_libs=no
         7955  +	    fi
         7956  +	  else
         7957  +	    echo "*** The inter-library dependencies that have been dropped here will be"
         7958  +	    echo "*** automatically added whenever a program is linked with this library"
         7959  +	    echo "*** or is declared to -dlopen it."
         7960  +
         7961  +	    if test "$allow_undefined" = no; then
         7962  +	      echo
         7963  +	      echo "*** Since this library must not contain undefined symbols,"
         7964  +	      echo "*** because either the platform does not support them or"
         7965  +	      echo "*** it was explicitly requested with -no-undefined,"
         7966  +	      echo "*** libtool will only create a static version of it."
         7967  +	      if test "$build_old_libs" = no; then
         7968  +		oldlibs="$output_objdir/$libname.$libext"
         7969  +		build_libtool_libs=module
         7970  +		build_old_libs=yes
         7971  +	      else
         7972  +		build_libtool_libs=no
         7973  +	      fi
         7974  +	    fi
         7975  +	  fi
         7976  +	fi
         7977  +	# Done checking deplibs!
         7978  +	deplibs=$newdeplibs
         7979  +      fi
         7980  +      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
         7981  +      case $host in
         7982  +	*-*-darwin*)
         7983  +	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
         7984  +	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
         7985  +	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
         7986  +	  ;;
         7987  +      esac
         7988  +
         7989  +      # move library search paths that coincide with paths to not yet
         7990  +      # installed libraries to the beginning of the library search list
         7991  +      new_libs=
         7992  +      for path in $notinst_path; do
         7993  +	case " $new_libs " in
         7994  +	*" -L$path/$objdir "*) ;;
         7995  +	*)
         7996  +	  case " $deplibs " in
         7997  +	  *" -L$path/$objdir "*)
         7998  +	    func_append new_libs " -L$path/$objdir" ;;
         7999  +	  esac
         8000  +	  ;;
         8001  +	esac
         8002  +      done
         8003  +      for deplib in $deplibs; do
         8004  +	case $deplib in
         8005  +	-L*)
         8006  +	  case " $new_libs " in
         8007  +	  *" $deplib "*) ;;
         8008  +	  *) func_append new_libs " $deplib" ;;
         8009  +	  esac
         8010  +	  ;;
         8011  +	*) func_append new_libs " $deplib" ;;
         8012  +	esac
         8013  +      done
         8014  +      deplibs="$new_libs"
         8015  +
         8016  +      # All the library-specific variables (install_libdir is set above).
         8017  +      library_names=
         8018  +      old_library=
         8019  +      dlname=
         8020  +
         8021  +      # Test again, we may have decided not to build it any more
         8022  +      if test "$build_libtool_libs" = yes; then
         8023  +	if test "$hardcode_into_libs" = yes; then
         8024  +	  # Hardcode the library paths
         8025  +	  hardcode_libdirs=
         8026  +	  dep_rpath=
         8027  +	  rpath="$finalize_rpath"
         8028  +	  test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
         8029  +	  for libdir in $rpath; do
         8030  +	    if test -n "$hardcode_libdir_flag_spec"; then
         8031  +	      if test -n "$hardcode_libdir_separator"; then
         8032  +		func_replace_sysroot "$libdir"
         8033  +		libdir=$func_replace_sysroot_result
         8034  +		if test -z "$hardcode_libdirs"; then
         8035  +		  hardcode_libdirs="$libdir"
         8036  +		else
         8037  +		  # Just accumulate the unique libdirs.
         8038  +		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
         8039  +		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
         8040  +		    ;;
         8041  +		  *)
         8042  +		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
         8043  +		    ;;
         8044  +		  esac
         8045  +		fi
         8046  +	      else
         8047  +		eval flag=\"$hardcode_libdir_flag_spec\"
         8048  +		func_append dep_rpath " $flag"
         8049  +	      fi
         8050  +	    elif test -n "$runpath_var"; then
         8051  +	      case "$perm_rpath " in
         8052  +	      *" $libdir "*) ;;
         8053  +	      *) func_append perm_rpath " $libdir" ;;
         8054  +	      esac
         8055  +	    fi
         8056  +	  done
         8057  +	  # Substitute the hardcoded libdirs into the rpath.
         8058  +	  if test -n "$hardcode_libdir_separator" &&
         8059  +	     test -n "$hardcode_libdirs"; then
         8060  +	    libdir="$hardcode_libdirs"
         8061  +	    if test -n "$hardcode_libdir_flag_spec_ld"; then
         8062  +	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
         8063  +	    else
         8064  +	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
         8065  +	    fi
         8066  +	  fi
         8067  +	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
         8068  +	    # We should set the runpath_var.
         8069  +	    rpath=
         8070  +	    for dir in $perm_rpath; do
         8071  +	      func_append rpath "$dir:"
         8072  +	    done
         8073  +	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
         8074  +	  fi
         8075  +	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
         8076  +	fi
         8077  +
         8078  +	shlibpath="$finalize_shlibpath"
         8079  +	test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
         8080  +	if test -n "$shlibpath"; then
         8081  +	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
         8082  +	fi
         8083  +
         8084  +	# Get the real and link names of the library.
         8085  +	eval shared_ext=\"$shrext_cmds\"
         8086  +	eval library_names=\"$library_names_spec\"
         8087  +	set dummy $library_names
         8088  +	shift
         8089  +	realname="$1"
         8090  +	shift
         8091  +
         8092  +	if test -n "$soname_spec"; then
         8093  +	  eval soname=\"$soname_spec\"
         8094  +	else
         8095  +	  soname="$realname"
         8096  +	fi
         8097  +	if test -z "$dlname"; then
         8098  +	  dlname=$soname
         8099  +	fi
         8100  +
         8101  +	lib="$output_objdir/$realname"
         8102  +	linknames=
         8103  +	for link
         8104  +	do
         8105  +	  func_append linknames " $link"
         8106  +	done
         8107  +
         8108  +	# Use standard objects if they are pic
         8109  +	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
         8110  +	test "X$libobjs" = "X " && libobjs=
         8111  +
         8112  +	delfiles=
         8113  +	if test -n "$export_symbols" && test -n "$include_expsyms"; then
         8114  +	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
         8115  +	  export_symbols="$output_objdir/$libname.uexp"
         8116  +	  func_append delfiles " $export_symbols"
         8117  +	fi
         8118  +
         8119  +	orig_export_symbols=
         8120  +	case $host_os in
         8121  +	cygwin* | mingw* | cegcc*)
         8122  +	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
         8123  +	    # exporting using user supplied symfile
         8124  +	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
         8125  +	      # and it's NOT already a .def file. Must figure out
         8126  +	      # which of the given symbols are data symbols and tag
         8127  +	      # them as such. So, trigger use of export_symbols_cmds.
         8128  +	      # export_symbols gets reassigned inside the "prepare
         8129  +	      # the list of exported symbols" if statement, so the
         8130  +	      # include_expsyms logic still works.
         8131  +	      orig_export_symbols="$export_symbols"
         8132  +	      export_symbols=
         8133  +	      always_export_symbols=yes
         8134  +	    fi
         8135  +	  fi
         8136  +	  ;;
         8137  +	esac
         8138  +
         8139  +	# Prepare the list of exported symbols
         8140  +	if test -z "$export_symbols"; then
         8141  +	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
         8142  +	    func_verbose "generating symbol list for \`$libname.la'"
         8143  +	    export_symbols="$output_objdir/$libname.exp"
         8144  +	    $opt_dry_run || $RM $export_symbols
         8145  +	    cmds=$export_symbols_cmds
         8146  +	    save_ifs="$IFS"; IFS='~'
         8147  +	    for cmd1 in $cmds; do
         8148  +	      IFS="$save_ifs"
         8149  +	      # Take the normal branch if the nm_file_list_spec branch
         8150  +	      # doesn't work or if tool conversion is not needed.
         8151  +	      case $nm_file_list_spec~$to_tool_file_cmd in
         8152  +		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
         8153  +		  try_normal_branch=yes
         8154  +		  eval cmd=\"$cmd1\"
         8155  +		  func_len " $cmd"
         8156  +		  len=$func_len_result
         8157  +		  ;;
         8158  +		*)
         8159  +		  try_normal_branch=no
         8160  +		  ;;
         8161  +	      esac
         8162  +	      if test "$try_normal_branch" = yes \
         8163  +		 && { test "$len" -lt "$max_cmd_len" \
         8164  +		      || test "$max_cmd_len" -le -1; }
         8165  +	      then
         8166  +		func_show_eval "$cmd" 'exit $?'
         8167  +		skipped_export=false
         8168  +	      elif test -n "$nm_file_list_spec"; then
         8169  +		func_basename "$output"
         8170  +		output_la=$func_basename_result
         8171  +		save_libobjs=$libobjs
         8172  +		save_output=$output
         8173  +		output=${output_objdir}/${output_la}.nm
         8174  +		func_to_tool_file "$output"
         8175  +		libobjs=$nm_file_list_spec$func_to_tool_file_result
         8176  +		func_append delfiles " $output"
         8177  +		func_verbose "creating $NM input file list: $output"
         8178  +		for obj in $save_libobjs; do
         8179  +		  func_to_tool_file "$obj"
         8180  +		  $ECHO "$func_to_tool_file_result"
         8181  +		done > "$output"
         8182  +		eval cmd=\"$cmd1\"
         8183  +		func_show_eval "$cmd" 'exit $?'
         8184  +		output=$save_output
         8185  +		libobjs=$save_libobjs
         8186  +		skipped_export=false
         8187  +	      else
         8188  +		# The command line is too long to execute in one step.
         8189  +		func_verbose "using reloadable object file for export list..."
         8190  +		skipped_export=:
         8191  +		# Break out early, otherwise skipped_export may be
         8192  +		# set to false by a later but shorter cmd.
         8193  +		break
         8194  +	      fi
         8195  +	    done
         8196  +	    IFS="$save_ifs"
         8197  +	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
         8198  +	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
         8199  +	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
         8200  +	    fi
         8201  +	  fi
         8202  +	fi
         8203  +
         8204  +	if test -n "$export_symbols" && test -n "$include_expsyms"; then
         8205  +	  tmp_export_symbols="$export_symbols"
         8206  +	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
         8207  +	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
         8208  +	fi
         8209  +
         8210  +	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
         8211  +	  # The given exports_symbols file has to be filtered, so filter it.
         8212  +	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
         8213  +	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
         8214  +	  # 's' commands which not all seds can handle. GNU sed should be fine
         8215  +	  # though. Also, the filter scales superlinearly with the number of
         8216  +	  # global variables. join(1) would be nice here, but unfortunately
         8217  +	  # isn't a blessed tool.
         8218  +	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
         8219  +	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
         8220  +	  export_symbols=$output_objdir/$libname.def
         8221  +	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
         8222  +	fi
         8223  +
         8224  +	tmp_deplibs=
         8225  +	for test_deplib in $deplibs; do
         8226  +	  case " $convenience " in
         8227  +	  *" $test_deplib "*) ;;
         8228  +	  *)
         8229  +	    func_append tmp_deplibs " $test_deplib"
         8230  +	    ;;
         8231  +	  esac
         8232  +	done
         8233  +	deplibs="$tmp_deplibs"
         8234  +
         8235  +	if test -n "$convenience"; then
         8236  +	  if test -n "$whole_archive_flag_spec" &&
         8237  +	    test "$compiler_needs_object" = yes &&
         8238  +	    test -z "$libobjs"; then
         8239  +	    # extract the archives, so we have objects to list.
         8240  +	    # TODO: could optimize this to just extract one archive.
         8241  +	    whole_archive_flag_spec=
         8242  +	  fi
         8243  +	  if test -n "$whole_archive_flag_spec"; then
         8244  +	    save_libobjs=$libobjs
         8245  +	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
         8246  +	    test "X$libobjs" = "X " && libobjs=
         8247  +	  else
         8248  +	    gentop="$output_objdir/${outputname}x"
         8249  +	    func_append generated " $gentop"
         8250  +
         8251  +	    func_extract_archives $gentop $convenience
         8252  +	    func_append libobjs " $func_extract_archives_result"
         8253  +	    test "X$libobjs" = "X " && libobjs=
         8254  +	  fi
         8255  +	fi
         8256  +
         8257  +	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
         8258  +	  eval flag=\"$thread_safe_flag_spec\"
         8259  +	  func_append linker_flags " $flag"
         8260  +	fi
         8261  +
         8262  +	# Make a backup of the uninstalled library when relinking
         8263  +	if test "$opt_mode" = relink; then
         8264  +	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
         8265  +	fi
         8266  +
         8267  +	# Do each of the archive commands.
         8268  +	if test "$module" = yes && test -n "$module_cmds" ; then
         8269  +	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
         8270  +	    eval test_cmds=\"$module_expsym_cmds\"
         8271  +	    cmds=$module_expsym_cmds
         8272  +	  else
         8273  +	    eval test_cmds=\"$module_cmds\"
         8274  +	    cmds=$module_cmds
         8275  +	  fi
         8276  +	else
         8277  +	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
         8278  +	    eval test_cmds=\"$archive_expsym_cmds\"
         8279  +	    cmds=$archive_expsym_cmds
         8280  +	  else
         8281  +	    eval test_cmds=\"$archive_cmds\"
         8282  +	    cmds=$archive_cmds
         8283  +	  fi
         8284  +	fi
         8285  +
         8286  +	if test "X$skipped_export" != "X:" &&
         8287  +	   func_len " $test_cmds" &&
         8288  +	   len=$func_len_result &&
         8289  +	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
         8290  +	  :
         8291  +	else
         8292  +	  # The command line is too long to link in one step, link piecewise
         8293  +	  # or, if using GNU ld and skipped_export is not :, use a linker
         8294  +	  # script.
         8295  +
         8296  +	  # Save the value of $output and $libobjs because we want to
         8297  +	  # use them later.  If we have whole_archive_flag_spec, we
         8298  +	  # want to use save_libobjs as it was before
         8299  +	  # whole_archive_flag_spec was expanded, because we can't
         8300  +	  # assume the linker understands whole_archive_flag_spec.
         8301  +	  # This may have to be revisited, in case too many
         8302  +	  # convenience libraries get linked in and end up exceeding
         8303  +	  # the spec.
         8304  +	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
         8305  +	    save_libobjs=$libobjs
         8306  +	  fi
         8307  +	  save_output=$output
         8308  +	  func_basename "$output"
         8309  +	  output_la=$func_basename_result
         8310  +
         8311  +	  # Clear the reloadable object creation command queue and
         8312  +	  # initialize k to one.
         8313  +	  test_cmds=
         8314  +	  concat_cmds=
         8315  +	  objlist=
         8316  +	  last_robj=
         8317  +	  k=1
         8318  +
         8319  +	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
         8320  +	    output=${output_objdir}/${output_la}.lnkscript
         8321  +	    func_verbose "creating GNU ld script: $output"
         8322  +	    echo 'INPUT (' > $output
         8323  +	    for obj in $save_libobjs
         8324  +	    do
         8325  +	      func_to_tool_file "$obj"
         8326  +	      $ECHO "$func_to_tool_file_result" >> $output
         8327  +	    done
         8328  +	    echo ')' >> $output
         8329  +	    func_append delfiles " $output"
         8330  +	    func_to_tool_file "$output"
         8331  +	    output=$func_to_tool_file_result
         8332  +	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
         8333  +	    output=${output_objdir}/${output_la}.lnk
         8334  +	    func_verbose "creating linker input file list: $output"
         8335  +	    : > $output
         8336  +	    set x $save_libobjs
         8337  +	    shift
         8338  +	    firstobj=
         8339  +	    if test "$compiler_needs_object" = yes; then
         8340  +	      firstobj="$1 "
         8341  +	      shift
         8342  +	    fi
         8343  +	    for obj
         8344  +	    do
         8345  +	      func_to_tool_file "$obj"
         8346  +	      $ECHO "$func_to_tool_file_result" >> $output
         8347  +	    done
         8348  +	    func_append delfiles " $output"
         8349  +	    func_to_tool_file "$output"
         8350  +	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
         8351  +	  else
         8352  +	    if test -n "$save_libobjs"; then
         8353  +	      func_verbose "creating reloadable object files..."
         8354  +	      output=$output_objdir/$output_la-${k}.$objext
         8355  +	      eval test_cmds=\"$reload_cmds\"
         8356  +	      func_len " $test_cmds"
         8357  +	      len0=$func_len_result
         8358  +	      len=$len0
         8359  +
         8360  +	      # Loop over the list of objects to be linked.
         8361  +	      for obj in $save_libobjs
         8362  +	      do
         8363  +		func_len " $obj"
         8364  +		func_arith $len + $func_len_result
         8365  +		len=$func_arith_result
         8366  +		if test "X$objlist" = X ||
         8367  +		   test "$len" -lt "$max_cmd_len"; then
         8368  +		  func_append objlist " $obj"
         8369  +		else
         8370  +		  # The command $test_cmds is almost too long, add a
         8371  +		  # command to the queue.
         8372  +		  if test "$k" -eq 1 ; then
         8373  +		    # The first file doesn't have a previous command to add.
         8374  +		    reload_objs=$objlist
         8375  +		    eval concat_cmds=\"$reload_cmds\"
         8376  +		  else
         8377  +		    # All subsequent reloadable object files will link in
         8378  +		    # the last one created.
         8379  +		    reload_objs="$objlist $last_robj"
         8380  +		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
         8381  +		  fi
         8382  +		  last_robj=$output_objdir/$output_la-${k}.$objext
         8383  +		  func_arith $k + 1
         8384  +		  k=$func_arith_result
         8385  +		  output=$output_objdir/$output_la-${k}.$objext
         8386  +		  objlist=" $obj"
         8387  +		  func_len " $last_robj"
         8388  +		  func_arith $len0 + $func_len_result
         8389  +		  len=$func_arith_result
         8390  +		fi
         8391  +	      done
         8392  +	      # Handle the remaining objects by creating one last
         8393  +	      # reloadable object file.  All subsequent reloadable object
         8394  +	      # files will link in the last one created.
         8395  +	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
         8396  +	      reload_objs="$objlist $last_robj"
         8397  +	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
         8398  +	      if test -n "$last_robj"; then
         8399  +	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
         8400  +	      fi
         8401  +	      func_append delfiles " $output"
         8402  +
         8403  +	    else
         8404  +	      output=
         8405  +	    fi
         8406  +
         8407  +	    if ${skipped_export-false}; then
         8408  +	      func_verbose "generating symbol list for \`$libname.la'"
         8409  +	      export_symbols="$output_objdir/$libname.exp"
         8410  +	      $opt_dry_run || $RM $export_symbols
         8411  +	      libobjs=$output
         8412  +	      # Append the command to create the export file.
         8413  +	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
         8414  +	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
         8415  +	      if test -n "$last_robj"; then
         8416  +		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
         8417  +	      fi
         8418  +	    fi
         8419  +
         8420  +	    test -n "$save_libobjs" &&
         8421  +	      func_verbose "creating a temporary reloadable object file: $output"
         8422  +
         8423  +	    # Loop through the commands generated above and execute them.
         8424  +	    save_ifs="$IFS"; IFS='~'
         8425  +	    for cmd in $concat_cmds; do
         8426  +	      IFS="$save_ifs"
         8427  +	      $opt_silent || {
         8428  +		  func_quote_for_expand "$cmd"
         8429  +		  eval "func_echo $func_quote_for_expand_result"
         8430  +	      }
         8431  +	      $opt_dry_run || eval "$cmd" || {
         8432  +		lt_exit=$?
         8433  +
         8434  +		# Restore the uninstalled library and exit
         8435  +		if test "$opt_mode" = relink; then
         8436  +		  ( cd "$output_objdir" && \
         8437  +		    $RM "${realname}T" && \
         8438  +		    $MV "${realname}U" "$realname" )
         8439  +		fi
         8440  +
         8441  +		exit $lt_exit
         8442  +	      }
         8443  +	    done
         8444  +	    IFS="$save_ifs"
         8445  +
         8446  +	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
         8447  +	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
         8448  +	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
         8449  +	    fi
         8450  +	  fi
         8451  +
         8452  +          if ${skipped_export-false}; then
         8453  +	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
         8454  +	      tmp_export_symbols="$export_symbols"
         8455  +	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
         8456  +	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
         8457  +	    fi
         8458  +
         8459  +	    if test -n "$orig_export_symbols"; then
         8460  +	      # The given exports_symbols file has to be filtered, so filter it.
         8461  +	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
         8462  +	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
         8463  +	      # 's' commands which not all seds can handle. GNU sed should be fine
         8464  +	      # though. Also, the filter scales superlinearly with the number of
         8465  +	      # global variables. join(1) would be nice here, but unfortunately
         8466  +	      # isn't a blessed tool.
         8467  +	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
         8468  +	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
         8469  +	      export_symbols=$output_objdir/$libname.def
         8470  +	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
         8471  +	    fi
         8472  +	  fi
         8473  +
         8474  +	  libobjs=$output
         8475  +	  # Restore the value of output.
         8476  +	  output=$save_output
         8477  +
         8478  +	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
         8479  +	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
         8480  +	    test "X$libobjs" = "X " && libobjs=
         8481  +	  fi
         8482  +	  # Expand the library linking commands again to reset the
         8483  +	  # value of $libobjs for piecewise linking.
         8484  +
         8485  +	  # Do each of the archive commands.
         8486  +	  if test "$module" = yes && test -n "$module_cmds" ; then
         8487  +	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
         8488  +	      cmds=$module_expsym_cmds
         8489  +	    else
         8490  +	      cmds=$module_cmds
         8491  +	    fi
         8492  +	  else
         8493  +	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
         8494  +	      cmds=$archive_expsym_cmds
         8495  +	    else
         8496  +	      cmds=$archive_cmds
         8497  +	    fi
         8498  +	  fi
         8499  +	fi
         8500  +
         8501  +	if test -n "$delfiles"; then
         8502  +	  # Append the command to remove temporary files to $cmds.
         8503  +	  eval cmds=\"\$cmds~\$RM $delfiles\"
         8504  +	fi
         8505  +
         8506  +	# Add any objects from preloaded convenience libraries
         8507  +	if test -n "$dlprefiles"; then
         8508  +	  gentop="$output_objdir/${outputname}x"
         8509  +	  func_append generated " $gentop"
         8510  +
         8511  +	  func_extract_archives $gentop $dlprefiles
         8512  +	  func_append libobjs " $func_extract_archives_result"
         8513  +	  test "X$libobjs" = "X " && libobjs=
         8514  +	fi
         8515  +
         8516  +	save_ifs="$IFS"; IFS='~'
         8517  +	for cmd in $cmds; do
         8518  +	  IFS="$save_ifs"
         8519  +	  eval cmd=\"$cmd\"
         8520  +	  $opt_silent || {
         8521  +	    func_quote_for_expand "$cmd"
         8522  +	    eval "func_echo $func_quote_for_expand_result"
         8523  +	  }
         8524  +	  $opt_dry_run || eval "$cmd" || {
         8525  +	    lt_exit=$?
         8526  +
         8527  +	    # Restore the uninstalled library and exit
         8528  +	    if test "$opt_mode" = relink; then
         8529  +	      ( cd "$output_objdir" && \
         8530  +	        $RM "${realname}T" && \
         8531  +		$MV "${realname}U" "$realname" )
         8532  +	    fi
         8533  +
         8534  +	    exit $lt_exit
         8535  +	  }
         8536  +	done
         8537  +	IFS="$save_ifs"
         8538  +
         8539  +	# Restore the uninstalled library and exit
         8540  +	if test "$opt_mode" = relink; then
         8541  +	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
         8542  +
         8543  +	  if test -n "$convenience"; then
         8544  +	    if test -z "$whole_archive_flag_spec"; then
         8545  +	      func_show_eval '${RM}r "$gentop"'
         8546  +	    fi
         8547  +	  fi
         8548  +
         8549  +	  exit $EXIT_SUCCESS
         8550  +	fi
         8551  +
         8552  +	# Create links to the real library.
         8553  +	for linkname in $linknames; do
         8554  +	  if test "$realname" != "$linkname"; then
         8555  +	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
         8556  +	  fi
         8557  +	done
         8558  +
         8559  +	# If -module or -export-dynamic was specified, set the dlname.
         8560  +	if test "$module" = yes || test "$export_dynamic" = yes; then
         8561  +	  # On all known operating systems, these are identical.
         8562  +	  dlname="$soname"
         8563  +	fi
         8564  +      fi
         8565  +      ;;
         8566  +
         8567  +    obj)
         8568  +      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
         8569  +	func_warning "\`-dlopen' is ignored for objects"
         8570  +      fi
         8571  +
         8572  +      case " $deplibs" in
         8573  +      *\ -l* | *\ -L*)
         8574  +	func_warning "\`-l' and \`-L' are ignored for objects" ;;
         8575  +      esac
         8576  +
         8577  +      test -n "$rpath" && \
         8578  +	func_warning "\`-rpath' is ignored for objects"
         8579  +
         8580  +      test -n "$xrpath" && \
         8581  +	func_warning "\`-R' is ignored for objects"
         8582  +
         8583  +      test -n "$vinfo" && \
         8584  +	func_warning "\`-version-info' is ignored for objects"
         8585  +
         8586  +      test -n "$release" && \
         8587  +	func_warning "\`-release' is ignored for objects"
         8588  +
         8589  +      case $output in
         8590  +      *.lo)
         8591  +	test -n "$objs$old_deplibs" && \
         8592  +	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
         8593  +
         8594  +	libobj=$output
         8595  +	func_lo2o "$libobj"
         8596  +	obj=$func_lo2o_result
         8597  +	;;
         8598  +      *)
         8599  +	libobj=
         8600  +	obj="$output"
         8601  +	;;
         8602  +      esac
         8603  +
         8604  +      # Delete the old objects.
         8605  +      $opt_dry_run || $RM $obj $libobj
         8606  +
         8607  +      # Objects from convenience libraries.  This assumes
         8608  +      # single-version convenience libraries.  Whenever we create
         8609  +      # different ones for PIC/non-PIC, this we'll have to duplicate
         8610  +      # the extraction.
         8611  +      reload_conv_objs=
         8612  +      gentop=
         8613  +      # reload_cmds runs $LD directly, so let us get rid of
         8614  +      # -Wl from whole_archive_flag_spec and hope we can get by with
         8615  +      # turning comma into space..
         8616  +      wl=
         8617  +
         8618  +      if test -n "$convenience"; then
         8619  +	if test -n "$whole_archive_flag_spec"; then
         8620  +	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
         8621  +	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
         8622  +	else
         8623  +	  gentop="$output_objdir/${obj}x"
         8624  +	  func_append generated " $gentop"
         8625  +
         8626  +	  func_extract_archives $gentop $convenience
         8627  +	  reload_conv_objs="$reload_objs $func_extract_archives_result"
         8628  +	fi
         8629  +      fi
         8630  +
         8631  +      # If we're not building shared, we need to use non_pic_objs
         8632  +      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
         8633  +
         8634  +      # Create the old-style object.
         8635  +      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
         8636  +
         8637  +      output="$obj"
         8638  +      func_execute_cmds "$reload_cmds" 'exit $?'
         8639  +
         8640  +      # Exit if we aren't doing a library object file.
         8641  +      if test -z "$libobj"; then
         8642  +	if test -n "$gentop"; then
         8643  +	  func_show_eval '${RM}r "$gentop"'
         8644  +	fi
         8645  +
         8646  +	exit $EXIT_SUCCESS
         8647  +      fi
         8648  +
         8649  +      if test "$build_libtool_libs" != yes; then
         8650  +	if test -n "$gentop"; then
         8651  +	  func_show_eval '${RM}r "$gentop"'
         8652  +	fi
         8653  +
         8654  +	# Create an invalid libtool object if no PIC, so that we don't
         8655  +	# accidentally link it into a program.
         8656  +	# $show "echo timestamp > $libobj"
         8657  +	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
         8658  +	exit $EXIT_SUCCESS
         8659  +      fi
         8660  +
         8661  +      if test -n "$pic_flag" || test "$pic_mode" != default; then
         8662  +	# Only do commands if we really have different PIC objects.
         8663  +	reload_objs="$libobjs $reload_conv_objs"
         8664  +	output="$libobj"
         8665  +	func_execute_cmds "$reload_cmds" 'exit $?'
         8666  +      fi
         8667  +
         8668  +      if test -n "$gentop"; then
         8669  +	func_show_eval '${RM}r "$gentop"'
         8670  +      fi
         8671  +
         8672  +      exit $EXIT_SUCCESS
         8673  +      ;;
         8674  +
         8675  +    prog)
         8676  +      case $host in
         8677  +	*cygwin*) func_stripname '' '.exe' "$output"
         8678  +	          output=$func_stripname_result.exe;;
         8679  +      esac
         8680  +      test -n "$vinfo" && \
         8681  +	func_warning "\`-version-info' is ignored for programs"
         8682  +
         8683  +      test -n "$release" && \
         8684  +	func_warning "\`-release' is ignored for programs"
         8685  +
         8686  +      test "$preload" = yes \
         8687  +        && test "$dlopen_support" = unknown \
         8688  +	&& test "$dlopen_self" = unknown \
         8689  +	&& test "$dlopen_self_static" = unknown && \
         8690  +	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
         8691  +
         8692  +      case $host in
         8693  +      *-*-rhapsody* | *-*-darwin1.[012])
         8694  +	# On Rhapsody replace the C library is the System framework
         8695  +	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
         8696  +	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
         8697  +	;;
         8698  +      esac
         8699  +
         8700  +      case $host in
         8701  +      *-*-darwin*)
         8702  +	# Don't allow lazy linking, it breaks C++ global constructors
         8703  +	# But is supposedly fixed on 10.4 or later (yay!).
         8704  +	if test "$tagname" = CXX ; then
         8705  +	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
         8706  +	    10.[0123])
         8707  +	      func_append compile_command " ${wl}-bind_at_load"
         8708  +	      func_append finalize_command " ${wl}-bind_at_load"
         8709  +	    ;;
         8710  +	  esac
         8711  +	fi
         8712  +	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
         8713  +	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
         8714  +	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
         8715  +	;;
         8716  +      esac
         8717  +
         8718  +
         8719  +      # move library search paths that coincide with paths to not yet
         8720  +      # installed libraries to the beginning of the library search list
         8721  +      new_libs=
         8722  +      for path in $notinst_path; do
         8723  +	case " $new_libs " in
         8724  +	*" -L$path/$objdir "*) ;;
         8725  +	*)
         8726  +	  case " $compile_deplibs " in
         8727  +	  *" -L$path/$objdir "*)
         8728  +	    func_append new_libs " -L$path/$objdir" ;;
         8729  +	  esac
         8730  +	  ;;
         8731  +	esac
         8732  +      done
         8733  +      for deplib in $compile_deplibs; do
         8734  +	case $deplib in
         8735  +	-L*)
         8736  +	  case " $new_libs " in
         8737  +	  *" $deplib "*) ;;
         8738  +	  *) func_append new_libs " $deplib" ;;
         8739  +	  esac
         8740  +	  ;;
         8741  +	*) func_append new_libs " $deplib" ;;
         8742  +	esac
         8743  +      done
         8744  +      compile_deplibs="$new_libs"
         8745  +
         8746  +
         8747  +      func_append compile_command " $compile_deplibs"
         8748  +      func_append finalize_command " $finalize_deplibs"
         8749  +
         8750  +      if test -n "$rpath$xrpath"; then
         8751  +	# If the user specified any rpath flags, then add them.
         8752  +	for libdir in $rpath $xrpath; do
         8753  +	  # This is the magic to use -rpath.
         8754  +	  case "$finalize_rpath " in
         8755  +	  *" $libdir "*) ;;
         8756  +	  *) func_append finalize_rpath " $libdir" ;;
         8757  +	  esac
         8758  +	done
         8759  +      fi
         8760  +
         8761  +      # Now hardcode the library paths
         8762  +      rpath=
         8763  +      hardcode_libdirs=
         8764  +      for libdir in $compile_rpath $finalize_rpath; do
         8765  +	if test -n "$hardcode_libdir_flag_spec"; then
         8766  +	  if test -n "$hardcode_libdir_separator"; then
         8767  +	    if test -z "$hardcode_libdirs"; then
         8768  +	      hardcode_libdirs="$libdir"
         8769  +	    else
         8770  +	      # Just accumulate the unique libdirs.
         8771  +	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
         8772  +	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
         8773  +		;;
         8774  +	      *)
         8775  +		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
         8776  +		;;
         8777  +	      esac
         8778  +	    fi
         8779  +	  else
         8780  +	    eval flag=\"$hardcode_libdir_flag_spec\"
         8781  +	    func_append rpath " $flag"
         8782  +	  fi
         8783  +	elif test -n "$runpath_var"; then
         8784  +	  case "$perm_rpath " in
         8785  +	  *" $libdir "*) ;;
         8786  +	  *) func_append perm_rpath " $libdir" ;;
         8787  +	  esac
         8788  +	fi
         8789  +	case $host in
         8790  +	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
         8791  +	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
         8792  +	  case :$dllsearchpath: in
         8793  +	  *":$libdir:"*) ;;
         8794  +	  ::) dllsearchpath=$libdir;;
         8795  +	  *) func_append dllsearchpath ":$libdir";;
         8796  +	  esac
         8797  +	  case :$dllsearchpath: in
         8798  +	  *":$testbindir:"*) ;;
         8799  +	  ::) dllsearchpath=$testbindir;;
         8800  +	  *) func_append dllsearchpath ":$testbindir";;
         8801  +	  esac
         8802  +	  ;;
         8803  +	esac
         8804  +      done
         8805  +      # Substitute the hardcoded libdirs into the rpath.
         8806  +      if test -n "$hardcode_libdir_separator" &&
         8807  +	 test -n "$hardcode_libdirs"; then
         8808  +	libdir="$hardcode_libdirs"
         8809  +	eval rpath=\" $hardcode_libdir_flag_spec\"
         8810  +      fi
         8811  +      compile_rpath="$rpath"
         8812  +
         8813  +      rpath=
         8814  +      hardcode_libdirs=
         8815  +      for libdir in $finalize_rpath; do
         8816  +	if test -n "$hardcode_libdir_flag_spec"; then
         8817  +	  if test -n "$hardcode_libdir_separator"; then
         8818  +	    if test -z "$hardcode_libdirs"; then
         8819  +	      hardcode_libdirs="$libdir"
         8820  +	    else
         8821  +	      # Just accumulate the unique libdirs.
         8822  +	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
         8823  +	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
         8824  +		;;
         8825  +	      *)
         8826  +		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
         8827  +		;;
         8828  +	      esac
         8829  +	    fi
         8830  +	  else
         8831  +	    eval flag=\"$hardcode_libdir_flag_spec\"
         8832  +	    func_append rpath " $flag"
         8833  +	  fi
         8834  +	elif test -n "$runpath_var"; then
         8835  +	  case "$finalize_perm_rpath " in
         8836  +	  *" $libdir "*) ;;
         8837  +	  *) func_append finalize_perm_rpath " $libdir" ;;
         8838  +	  esac
         8839  +	fi
         8840  +      done
         8841  +      # Substitute the hardcoded libdirs into the rpath.
         8842  +      if test -n "$hardcode_libdir_separator" &&
         8843  +	 test -n "$hardcode_libdirs"; then
         8844  +	libdir="$hardcode_libdirs"
         8845  +	eval rpath=\" $hardcode_libdir_flag_spec\"
         8846  +      fi
         8847  +      finalize_rpath="$rpath"
         8848  +
         8849  +      if test -n "$libobjs" && test "$build_old_libs" = yes; then
         8850  +	# Transform all the library objects into standard objects.
         8851  +	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
         8852  +	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
         8853  +      fi
         8854  +
         8855  +      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
         8856  +
         8857  +      # template prelinking step
         8858  +      if test -n "$prelink_cmds"; then
         8859  +	func_execute_cmds "$prelink_cmds" 'exit $?'
         8860  +      fi
         8861  +
         8862  +      wrappers_required=yes
         8863  +      case $host in
         8864  +      *cegcc* | *mingw32ce*)
         8865  +        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
         8866  +        wrappers_required=no
         8867  +        ;;
         8868  +      *cygwin* | *mingw* )
         8869  +        if test "$build_libtool_libs" != yes; then
         8870  +          wrappers_required=no
         8871  +        fi
         8872  +        ;;
         8873  +      *)
         8874  +        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
         8875  +          wrappers_required=no
         8876  +        fi
         8877  +        ;;
         8878  +      esac
         8879  +      if test "$wrappers_required" = no; then
         8880  +	# Replace the output file specification.
         8881  +	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
         8882  +	link_command="$compile_command$compile_rpath"
         8883  +
         8884  +	# We have no uninstalled library dependencies, so finalize right now.
         8885  +	exit_status=0
         8886  +	func_show_eval "$link_command" 'exit_status=$?'
         8887  +
         8888  +	if test -n "$postlink_cmds"; then
         8889  +	  func_to_tool_file "$output"
         8890  +	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
         8891  +	  func_execute_cmds "$postlink_cmds" 'exit $?'
         8892  +	fi
         8893  +
         8894  +	# Delete the generated files.
         8895  +	if test -f "$output_objdir/${outputname}S.${objext}"; then
         8896  +	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
         8897  +	fi
         8898  +
         8899  +	exit $exit_status
         8900  +      fi
         8901  +
         8902  +      if test -n "$compile_shlibpath$finalize_shlibpath"; then
         8903  +	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
         8904  +      fi
         8905  +      if test -n "$finalize_shlibpath"; then
         8906  +	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
         8907  +      fi
         8908  +
         8909  +      compile_var=
         8910  +      finalize_var=
         8911  +      if test -n "$runpath_var"; then
         8912  +	if test -n "$perm_rpath"; then
         8913  +	  # We should set the runpath_var.
         8914  +	  rpath=
         8915  +	  for dir in $perm_rpath; do
         8916  +	    func_append rpath "$dir:"
         8917  +	  done
         8918  +	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
         8919  +	fi
         8920  +	if test -n "$finalize_perm_rpath"; then
         8921  +	  # We should set the runpath_var.
         8922  +	  rpath=
         8923  +	  for dir in $finalize_perm_rpath; do
         8924  +	    func_append rpath "$dir:"
         8925  +	  done
         8926  +	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
         8927  +	fi
         8928  +      fi
         8929  +
         8930  +      if test "$no_install" = yes; then
         8931  +	# We don't need to create a wrapper script.
         8932  +	link_command="$compile_var$compile_command$compile_rpath"
         8933  +	# Replace the output file specification.
         8934  +	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
         8935  +	# Delete the old output file.
         8936  +	$opt_dry_run || $RM $output
         8937  +	# Link the executable and exit
         8938  +	func_show_eval "$link_command" 'exit $?'
         8939  +
         8940  +	if test -n "$postlink_cmds"; then
         8941  +	  func_to_tool_file "$output"
         8942  +	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
         8943  +	  func_execute_cmds "$postlink_cmds" 'exit $?'
         8944  +	fi
         8945  +
         8946  +	exit $EXIT_SUCCESS
         8947  +      fi
         8948  +
         8949  +      if test "$hardcode_action" = relink; then
         8950  +	# Fast installation is not supported
         8951  +	link_command="$compile_var$compile_command$compile_rpath"
         8952  +	relink_command="$finalize_var$finalize_command$finalize_rpath"
         8953  +
         8954  +	func_warning "this platform does not like uninstalled shared libraries"
         8955  +	func_warning "\`$output' will be relinked during installation"
         8956  +      else
         8957  +	if test "$fast_install" != no; then
         8958  +	  link_command="$finalize_var$compile_command$finalize_rpath"
         8959  +	  if test "$fast_install" = yes; then
         8960  +	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
         8961  +	  else
         8962  +	    # fast_install is set to needless
         8963  +	    relink_command=
         8964  +	  fi
         8965  +	else
         8966  +	  link_command="$compile_var$compile_command$compile_rpath"
         8967  +	  relink_command="$finalize_var$finalize_command$finalize_rpath"
         8968  +	fi
         8969  +      fi
         8970  +
         8971  +      # Replace the output file specification.
         8972  +      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
         8973  +
         8974  +      # Delete the old output files.
         8975  +      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
         8976  +
         8977  +      func_show_eval "$link_command" 'exit $?'
         8978  +
         8979  +      if test -n "$postlink_cmds"; then
         8980  +	func_to_tool_file "$output_objdir/$outputname"
         8981  +	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
         8982  +	func_execute_cmds "$postlink_cmds" 'exit $?'
         8983  +      fi
         8984  +
         8985  +      # Now create the wrapper script.
         8986  +      func_verbose "creating $output"
         8987  +
         8988  +      # Quote the relink command for shipping.
         8989  +      if test -n "$relink_command"; then
         8990  +	# Preserve any variables that may affect compiler behavior
         8991  +	for var in $variables_saved_for_relink; do
         8992  +	  if eval test -z \"\${$var+set}\"; then
         8993  +	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
         8994  +	  elif eval var_value=\$$var; test -z "$var_value"; then
         8995  +	    relink_command="$var=; export $var; $relink_command"
         8996  +	  else
         8997  +	    func_quote_for_eval "$var_value"
         8998  +	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
         8999  +	  fi
         9000  +	done
         9001  +	relink_command="(cd `pwd`; $relink_command)"
         9002  +	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
         9003  +      fi
         9004  +
         9005  +      # Only actually do things if not in dry run mode.
         9006  +      $opt_dry_run || {
         9007  +	# win32 will think the script is a binary if it has
         9008  +	# a .exe suffix, so we strip it off here.
         9009  +	case $output in
         9010  +	  *.exe) func_stripname '' '.exe' "$output"
         9011  +	         output=$func_stripname_result ;;
         9012  +	esac
         9013  +	# test for cygwin because mv fails w/o .exe extensions
         9014  +	case $host in
         9015  +	  *cygwin*)
         9016  +	    exeext=.exe
         9017  +	    func_stripname '' '.exe' "$outputname"
         9018  +	    outputname=$func_stripname_result ;;
         9019  +	  *) exeext= ;;
         9020  +	esac
         9021  +	case $host in
         9022  +	  *cygwin* | *mingw* )
         9023  +	    func_dirname_and_basename "$output" "" "."
         9024  +	    output_name=$func_basename_result
         9025  +	    output_path=$func_dirname_result
         9026  +	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
         9027  +	    cwrapper="$output_path/$output_name.exe"
         9028  +	    $RM $cwrappersource $cwrapper
         9029  +	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
         9030  +
         9031  +	    func_emit_cwrapperexe_src > $cwrappersource
         9032  +
         9033  +	    # The wrapper executable is built using the $host compiler,
         9034  +	    # because it contains $host paths and files. If cross-
         9035  +	    # compiling, it, like the target executable, must be
         9036  +	    # executed on the $host or under an emulation environment.
         9037  +	    $opt_dry_run || {
         9038  +	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
         9039  +	      $STRIP $cwrapper
         9040  +	    }
         9041  +
         9042  +	    # Now, create the wrapper script for func_source use:
         9043  +	    func_ltwrapper_scriptname $cwrapper
         9044  +	    $RM $func_ltwrapper_scriptname_result
         9045  +	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
         9046  +	    $opt_dry_run || {
         9047  +	      # note: this script will not be executed, so do not chmod.
         9048  +	      if test "x$build" = "x$host" ; then
         9049  +		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
         9050  +	      else
         9051  +		func_emit_wrapper no > $func_ltwrapper_scriptname_result
         9052  +	      fi
         9053  +	    }
         9054  +	  ;;
         9055  +	  * )
         9056  +	    $RM $output
         9057  +	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
         9058  +
         9059  +	    func_emit_wrapper no > $output
         9060  +	    chmod +x $output
         9061  +	  ;;
         9062  +	esac
         9063  +      }
         9064  +      exit $EXIT_SUCCESS
         9065  +      ;;
         9066  +    esac
         9067  +
         9068  +    # See if we need to build an old-fashioned archive.
         9069  +    for oldlib in $oldlibs; do
         9070  +
         9071  +      if test "$build_libtool_libs" = convenience; then
         9072  +	oldobjs="$libobjs_save $symfileobj"
         9073  +	addlibs="$convenience"
         9074  +	build_libtool_libs=no
         9075  +      else
         9076  +	if test "$build_libtool_libs" = module; then
         9077  +	  oldobjs="$libobjs_save"
         9078  +	  build_libtool_libs=no
         9079  +	else
         9080  +	  oldobjs="$old_deplibs $non_pic_objects"
         9081  +	  if test "$preload" = yes && test -f "$symfileobj"; then
         9082  +	    func_append oldobjs " $symfileobj"
         9083  +	  fi
         9084  +	fi
         9085  +	addlibs="$old_convenience"
         9086  +      fi
         9087  +
         9088  +      if test -n "$addlibs"; then
         9089  +	gentop="$output_objdir/${outputname}x"
         9090  +	func_append generated " $gentop"
         9091  +
         9092  +	func_extract_archives $gentop $addlibs
         9093  +	func_append oldobjs " $func_extract_archives_result"
         9094  +      fi
         9095  +
         9096  +      # Do each command in the archive commands.
         9097  +      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
         9098  +	cmds=$old_archive_from_new_cmds
         9099  +      else
         9100  +
         9101  +	# Add any objects from preloaded convenience libraries
         9102  +	if test -n "$dlprefiles"; then
         9103  +	  gentop="$output_objdir/${outputname}x"
         9104  +	  func_append generated " $gentop"
         9105  +
         9106  +	  func_extract_archives $gentop $dlprefiles
         9107  +	  func_append oldobjs " $func_extract_archives_result"
         9108  +	fi
         9109  +
         9110  +	# POSIX demands no paths to be encoded in archives.  We have
         9111  +	# to avoid creating archives with duplicate basenames if we
         9112  +	# might have to extract them afterwards, e.g., when creating a
         9113  +	# static archive out of a convenience library, or when linking
         9114  +	# the entirety of a libtool archive into another (currently
         9115  +	# not supported by libtool).
         9116  +	if (for obj in $oldobjs
         9117  +	    do
         9118  +	      func_basename "$obj"
         9119  +	      $ECHO "$func_basename_result"
         9120  +	    done | sort | sort -uc >/dev/null 2>&1); then
         9121  +	  :
         9122  +	else
         9123  +	  echo "copying selected object files to avoid basename conflicts..."
         9124  +	  gentop="$output_objdir/${outputname}x"
         9125  +	  func_append generated " $gentop"
         9126  +	  func_mkdir_p "$gentop"
         9127  +	  save_oldobjs=$oldobjs
         9128  +	  oldobjs=
         9129  +	  counter=1
         9130  +	  for obj in $save_oldobjs
         9131  +	  do
         9132  +	    func_basename "$obj"
         9133  +	    objbase="$func_basename_result"
         9134  +	    case " $oldobjs " in
         9135  +	    " ") oldobjs=$obj ;;
         9136  +	    *[\ /]"$objbase "*)
         9137  +	      while :; do
         9138  +		# Make sure we don't pick an alternate name that also
         9139  +		# overlaps.
         9140  +		newobj=lt$counter-$objbase
         9141  +		func_arith $counter + 1
         9142  +		counter=$func_arith_result
         9143  +		case " $oldobjs " in
         9144  +		*[\ /]"$newobj "*) ;;
         9145  +		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
         9146  +		esac
         9147  +	      done
         9148  +	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
         9149  +	      func_append oldobjs " $gentop/$newobj"
         9150  +	      ;;
         9151  +	    *) func_append oldobjs " $obj" ;;
         9152  +	    esac
         9153  +	  done
         9154  +	fi
         9155  +	eval cmds=\"$old_archive_cmds\"
         9156  +
         9157  +	func_len " $cmds"
         9158  +	len=$func_len_result
         9159  +	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
         9160  +	  cmds=$old_archive_cmds
         9161  +	elif test -n "$archiver_list_spec"; then
         9162  +	  func_verbose "using command file archive linking..."
         9163  +	  for obj in $oldobjs
         9164  +	  do
         9165  +	    func_to_tool_file "$obj"
         9166  +	    $ECHO "$func_to_tool_file_result"
         9167  +	  done > $output_objdir/$libname.libcmd
         9168  +	  func_to_tool_file "$output_objdir/$libname.libcmd"
         9169  +	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
         9170  +	  cmds=$old_archive_cmds
         9171  +	else
         9172  +	  # the command line is too long to link in one step, link in parts
         9173  +	  func_verbose "using piecewise archive linking..."
         9174  +	  save_RANLIB=$RANLIB
         9175  +	  RANLIB=:
         9176  +	  objlist=
         9177  +	  concat_cmds=
         9178  +	  save_oldobjs=$oldobjs
         9179  +	  oldobjs=
         9180  +	  # Is there a better way of finding the last object in the list?
         9181  +	  for obj in $save_oldobjs
         9182  +	  do
         9183  +	    last_oldobj=$obj
         9184  +	  done
         9185  +	  eval test_cmds=\"$old_archive_cmds\"
         9186  +	  func_len " $test_cmds"
         9187  +	  len0=$func_len_result
         9188  +	  len=$len0
         9189  +	  for obj in $save_oldobjs
         9190  +	  do
         9191  +	    func_len " $obj"
         9192  +	    func_arith $len + $func_len_result
         9193  +	    len=$func_arith_result
         9194  +	    func_append objlist " $obj"
         9195  +	    if test "$len" -lt "$max_cmd_len"; then
         9196  +	      :
         9197  +	    else
         9198  +	      # the above command should be used before it gets too long
         9199  +	      oldobjs=$objlist
         9200  +	      if test "$obj" = "$last_oldobj" ; then
         9201  +		RANLIB=$save_RANLIB
         9202  +	      fi
         9203  +	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
         9204  +	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
         9205  +	      objlist=
         9206  +	      len=$len0
         9207  +	    fi
         9208  +	  done
         9209  +	  RANLIB=$save_RANLIB
         9210  +	  oldobjs=$objlist
         9211  +	  if test "X$oldobjs" = "X" ; then
         9212  +	    eval cmds=\"\$concat_cmds\"
         9213  +	  else
         9214  +	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
         9215  +	  fi
         9216  +	fi
         9217  +      fi
         9218  +      func_execute_cmds "$cmds" 'exit $?'
         9219  +    done
         9220  +
         9221  +    test -n "$generated" && \
         9222  +      func_show_eval "${RM}r$generated"
         9223  +
         9224  +    # Now create the libtool archive.
         9225  +    case $output in
         9226  +    *.la)
         9227  +      old_library=
         9228  +      test "$build_old_libs" = yes && old_library="$libname.$libext"
         9229  +      func_verbose "creating $output"
         9230  +
         9231  +      # Preserve any variables that may affect compiler behavior
         9232  +      for var in $variables_saved_for_relink; do
         9233  +	if eval test -z \"\${$var+set}\"; then
         9234  +	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
         9235  +	elif eval var_value=\$$var; test -z "$var_value"; then
         9236  +	  relink_command="$var=; export $var; $relink_command"
         9237  +	else
         9238  +	  func_quote_for_eval "$var_value"
         9239  +	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
         9240  +	fi
         9241  +      done
         9242  +      # Quote the link command for shipping.
         9243  +      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
         9244  +      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
         9245  +      if test "$hardcode_automatic" = yes ; then
         9246  +	relink_command=
         9247  +      fi
         9248  +
         9249  +      # Only create the output if not a dry run.
         9250  +      $opt_dry_run || {
         9251  +	for installed in no yes; do
         9252  +	  if test "$installed" = yes; then
         9253  +	    if test -z "$install_libdir"; then
         9254  +	      break
         9255  +	    fi
         9256  +	    output="$output_objdir/$outputname"i
         9257  +	    # Replace all uninstalled libtool libraries with the installed ones
         9258  +	    newdependency_libs=
         9259  +	    for deplib in $dependency_libs; do
         9260  +	      case $deplib in
         9261  +	      *.la)
         9262  +		func_basename "$deplib"
         9263  +		name="$func_basename_result"
         9264  +		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
         9265  +		test -z "$libdir" && \
         9266  +		  func_fatal_error "\`$deplib' is not a valid libtool archive"
         9267  +		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
         9268  +		;;
         9269  +	      -L*)
         9270  +		func_stripname -L '' "$deplib"
         9271  +		func_replace_sysroot "$func_stripname_result"
         9272  +		func_append newdependency_libs " -L$func_replace_sysroot_result"
         9273  +		;;
         9274  +	      -R*)
         9275  +		func_stripname -R '' "$deplib"
         9276  +		func_replace_sysroot "$func_stripname_result"
         9277  +		func_append newdependency_libs " -R$func_replace_sysroot_result"
         9278  +		;;
         9279  +	      *) func_append newdependency_libs " $deplib" ;;
         9280  +	      esac
         9281  +	    done
         9282  +	    dependency_libs="$newdependency_libs"
         9283  +	    newdlfiles=
         9284  +
         9285  +	    for lib in $dlfiles; do
         9286  +	      case $lib in
         9287  +	      *.la)
         9288  +	        func_basename "$lib"
         9289  +		name="$func_basename_result"
         9290  +		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
         9291  +		test -z "$libdir" && \
         9292  +		  func_fatal_error "\`$lib' is not a valid libtool archive"
         9293  +		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
         9294  +		;;
         9295  +	      *) func_append newdlfiles " $lib" ;;
         9296  +	      esac
         9297  +	    done
         9298  +	    dlfiles="$newdlfiles"
         9299  +	    newdlprefiles=
         9300  +	    for lib in $dlprefiles; do
         9301  +	      case $lib in
         9302  +	      *.la)
         9303  +		# Only pass preopened files to the pseudo-archive (for
         9304  +		# eventual linking with the app. that links it) if we
         9305  +		# didn't already link the preopened objects directly into
         9306  +		# the library:
         9307  +		func_basename "$lib"
         9308  +		name="$func_basename_result"
         9309  +		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
         9310  +		test -z "$libdir" && \
         9311  +		  func_fatal_error "\`$lib' is not a valid libtool archive"
         9312  +		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
         9313  +		;;
         9314  +	      esac
         9315  +	    done
         9316  +	    dlprefiles="$newdlprefiles"
         9317  +	  else
         9318  +	    newdlfiles=
         9319  +	    for lib in $dlfiles; do
         9320  +	      case $lib in
         9321  +		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
         9322  +		*) abs=`pwd`"/$lib" ;;
         9323  +	      esac
         9324  +	      func_append newdlfiles " $abs"
         9325  +	    done
         9326  +	    dlfiles="$newdlfiles"
         9327  +	    newdlprefiles=
         9328  +	    for lib in $dlprefiles; do
         9329  +	      case $lib in
         9330  +		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
         9331  +		*) abs=`pwd`"/$lib" ;;
         9332  +	      esac
         9333  +	      func_append newdlprefiles " $abs"
         9334  +	    done
         9335  +	    dlprefiles="$newdlprefiles"
         9336  +	  fi
         9337  +	  $RM $output
         9338  +	  # place dlname in correct position for cygwin
         9339  +	  # In fact, it would be nice if we could use this code for all target
         9340  +	  # systems that can't hard-code library paths into their executables
         9341  +	  # and that have no shared library path variable independent of PATH,
         9342  +	  # but it turns out we can't easily determine that from inspecting
         9343  +	  # libtool variables, so we have to hard-code the OSs to which it
         9344  +	  # applies here; at the moment, that means platforms that use the PE
         9345  +	  # object format with DLL files.  See the long comment at the top of
         9346  +	  # tests/bindir.at for full details.
         9347  +	  tdlname=$dlname
         9348  +	  case $host,$output,$installed,$module,$dlname in
         9349  +	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
         9350  +	      # If a -bindir argument was supplied, place the dll there.
         9351  +	      if test "x$bindir" != x ;
         9352  +	      then
         9353  +		func_relative_path "$install_libdir" "$bindir"
         9354  +		tdlname=$func_relative_path_result$dlname
         9355  +	      else
         9356  +		# Otherwise fall back on heuristic.
         9357  +		tdlname=../bin/$dlname
         9358  +	      fi
         9359  +	      ;;
         9360  +	  esac
         9361  +	  $ECHO > $output "\
         9362  +# $outputname - a libtool library file
         9363  +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
         9364  +#
         9365  +# Please DO NOT delete this file!
         9366  +# It is necessary for linking the library.
         9367  +
         9368  +# The name that we can dlopen(3).
         9369  +dlname='$tdlname'
         9370  +
         9371  +# Names of this library.
         9372  +library_names='$library_names'
         9373  +
         9374  +# The name of the static archive.
         9375  +old_library='$old_library'
         9376  +
         9377  +# Linker flags that can not go in dependency_libs.
         9378  +inherited_linker_flags='$new_inherited_linker_flags'
         9379  +
         9380  +# Libraries that this one depends upon.
         9381  +dependency_libs='$dependency_libs'
         9382  +
         9383  +# Names of additional weak libraries provided by this library
         9384  +weak_library_names='$weak_libs'
         9385  +
         9386  +# Version information for $libname.
         9387  +current=$current
         9388  +age=$age
         9389  +revision=$revision
         9390  +
         9391  +# Is this an already installed library?
         9392  +installed=$installed
         9393  +
         9394  +# Should we warn about portability when linking against -modules?
         9395  +shouldnotlink=$module
         9396  +
         9397  +# Files to dlopen/dlpreopen
         9398  +dlopen='$dlfiles'
         9399  +dlpreopen='$dlprefiles'
         9400  +
         9401  +# Directory that this library needs to be installed in:
         9402  +libdir='$install_libdir'"
         9403  +	  if test "$installed" = no && test "$need_relink" = yes; then
         9404  +	    $ECHO >> $output "\
         9405  +relink_command=\"$relink_command\""
         9406  +	  fi
         9407  +	done
         9408  +      }
         9409  +
         9410  +      # Do a symbolic link so that the libtool archive can be found in
         9411  +      # LD_LIBRARY_PATH before the program is installed.
         9412  +      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
         9413  +      ;;
         9414  +    esac
         9415  +    exit $EXIT_SUCCESS
         9416  +}
         9417  +
         9418  +{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
         9419  +    func_mode_link ${1+"$@"}
         9420  +
         9421  +
         9422  +# func_mode_uninstall arg...
         9423  +func_mode_uninstall ()
         9424  +{
         9425  +    $opt_debug
         9426  +    RM="$nonopt"
         9427  +    files=
         9428  +    rmforce=
         9429  +    exit_status=0
         9430  +
         9431  +    # This variable tells wrapper scripts just to set variables rather
         9432  +    # than running their programs.
         9433  +    libtool_install_magic="$magic"
         9434  +
         9435  +    for arg
         9436  +    do
         9437  +      case $arg in
         9438  +      -f) func_append RM " $arg"; rmforce=yes ;;
         9439  +      -*) func_append RM " $arg" ;;
         9440  +      *) func_append files " $arg" ;;
         9441  +      esac
         9442  +    done
         9443  +
         9444  +    test -z "$RM" && \
         9445  +      func_fatal_help "you must specify an RM program"
         9446  +
         9447  +    rmdirs=
         9448  +
         9449  +    for file in $files; do
         9450  +      func_dirname "$file" "" "."
         9451  +      dir="$func_dirname_result"
         9452  +      if test "X$dir" = X.; then
         9453  +	odir="$objdir"
         9454  +      else
         9455  +	odir="$dir/$objdir"
         9456  +      fi
         9457  +      func_basename "$file"
         9458  +      name="$func_basename_result"
         9459  +      test "$opt_mode" = uninstall && odir="$dir"
         9460  +
         9461  +      # Remember odir for removal later, being careful to avoid duplicates
         9462  +      if test "$opt_mode" = clean; then
         9463  +	case " $rmdirs " in
         9464  +	  *" $odir "*) ;;
         9465  +	  *) func_append rmdirs " $odir" ;;
         9466  +	esac
         9467  +      fi
         9468  +
         9469  +      # Don't error if the file doesn't exist and rm -f was used.
         9470  +      if { test -L "$file"; } >/dev/null 2>&1 ||
         9471  +	 { test -h "$file"; } >/dev/null 2>&1 ||
         9472  +	 test -f "$file"; then
         9473  +	:
         9474  +      elif test -d "$file"; then
         9475  +	exit_status=1
         9476  +	continue
         9477  +      elif test "$rmforce" = yes; then
         9478  +	continue
         9479  +      fi
         9480  +
         9481  +      rmfiles="$file"
         9482  +
         9483  +      case $name in
         9484  +      *.la)
         9485  +	# Possibly a libtool archive, so verify it.
         9486  +	if func_lalib_p "$file"; then
         9487  +	  func_source $dir/$name
         9488  +
         9489  +	  # Delete the libtool libraries and symlinks.
         9490  +	  for n in $library_names; do
         9491  +	    func_append rmfiles " $odir/$n"
         9492  +	  done
         9493  +	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
         9494  +
         9495  +	  case "$opt_mode" in
         9496  +	  clean)
         9497  +	    case " $library_names " in
         9498  +	    *" $dlname "*) ;;
         9499  +	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
         9500  +	    esac
         9501  +	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
         9502  +	    ;;
         9503  +	  uninstall)
         9504  +	    if test -n "$library_names"; then
         9505  +	      # Do each command in the postuninstall commands.
         9506  +	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
         9507  +	    fi
         9508  +
         9509  +	    if test -n "$old_library"; then
         9510  +	      # Do each command in the old_postuninstall commands.
         9511  +	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
         9512  +	    fi
         9513  +	    # FIXME: should reinstall the best remaining shared library.
         9514  +	    ;;
         9515  +	  esac
         9516  +	fi
         9517  +	;;
         9518  +
         9519  +      *.lo)
         9520  +	# Possibly a libtool object, so verify it.
         9521  +	if func_lalib_p "$file"; then
         9522  +
         9523  +	  # Read the .lo file
         9524  +	  func_source $dir/$name
         9525  +
         9526  +	  # Add PIC object to the list of files to remove.
         9527  +	  if test -n "$pic_object" &&
         9528  +	     test "$pic_object" != none; then
         9529  +	    func_append rmfiles " $dir/$pic_object"
         9530  +	  fi
         9531  +
         9532  +	  # Add non-PIC object to the list of files to remove.
         9533  +	  if test -n "$non_pic_object" &&
         9534  +	     test "$non_pic_object" != none; then
         9535  +	    func_append rmfiles " $dir/$non_pic_object"
         9536  +	  fi
         9537  +	fi
         9538  +	;;
         9539  +
         9540  +      *)
         9541  +	if test "$opt_mode" = clean ; then
         9542  +	  noexename=$name
         9543  +	  case $file in
         9544  +	  *.exe)
         9545  +	    func_stripname '' '.exe' "$file"
         9546  +	    file=$func_stripname_result
         9547  +	    func_stripname '' '.exe' "$name"
         9548  +	    noexename=$func_stripname_result
         9549  +	    # $file with .exe has already been added to rmfiles,
         9550  +	    # add $file without .exe
         9551  +	    func_append rmfiles " $file"
         9552  +	    ;;
         9553  +	  esac
         9554  +	  # Do a test to see if this is a libtool program.
         9555  +	  if func_ltwrapper_p "$file"; then
         9556  +	    if func_ltwrapper_executable_p "$file"; then
         9557  +	      func_ltwrapper_scriptname "$file"
         9558  +	      relink_command=
         9559  +	      func_source $func_ltwrapper_scriptname_result
         9560  +	      func_append rmfiles " $func_ltwrapper_scriptname_result"
         9561  +	    else
         9562  +	      relink_command=
         9563  +	      func_source $dir/$noexename
         9564  +	    fi
         9565  +
         9566  +	    # note $name still contains .exe if it was in $file originally
         9567  +	    # as does the version of $file that was added into $rmfiles
         9568  +	    func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
         9569  +	    if test "$fast_install" = yes && test -n "$relink_command"; then
         9570  +	      func_append rmfiles " $odir/lt-$name"
         9571  +	    fi
         9572  +	    if test "X$noexename" != "X$name" ; then
         9573  +	      func_append rmfiles " $odir/lt-${noexename}.c"
         9574  +	    fi
         9575  +	  fi
         9576  +	fi
         9577  +	;;
         9578  +      esac
         9579  +      func_show_eval "$RM $rmfiles" 'exit_status=1'
         9580  +    done
         9581  +
         9582  +    # Try to remove the ${objdir}s in the directories where we deleted files
         9583  +    for dir in $rmdirs; do
         9584  +      if test -d "$dir"; then
         9585  +	func_show_eval "rmdir $dir >/dev/null 2>&1"
         9586  +      fi
         9587  +    done
         9588  +
         9589  +    exit $exit_status
         9590  +}
         9591  +
         9592  +{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
         9593  +    func_mode_uninstall ${1+"$@"}
         9594  +
         9595  +test -z "$opt_mode" && {
         9596  +  help="$generic_help"
         9597  +  func_fatal_help "you must specify a MODE"
         9598  +}
         9599  +
         9600  +test -z "$exec_cmd" && \
         9601  +  func_fatal_help "invalid operation mode \`$opt_mode'"
         9602  +
         9603  +if test -n "$exec_cmd"; then
         9604  +  eval exec "$exec_cmd"
         9605  +  exit $EXIT_FAILURE
         9606  +fi
         9607  +
         9608  +exit $exit_status
         9609  +
         9610  +
         9611  +# The TAGs below are defined such that we never get into a situation
         9612  +# in which we disable both kinds of libraries.  Given conflicting
         9613  +# choices, we go for a static library, that is the most portable,
         9614  +# since we can't tell whether shared libraries were disabled because
         9615  +# the user asked for that or because the platform doesn't support
         9616  +# them.  This is particularly important on AIX, because we don't
         9617  +# support having both static and shared libraries enabled at the same
         9618  +# time on that platform, so we default to a shared-only configuration.
         9619  +# If a disable-shared tag is given, we'll fallback to a static-only
         9620  +# configuration.  But we'll never go from static-only to shared-only.
         9621  +
         9622  +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
         9623  +build_libtool_libs=no
         9624  +build_old_libs=yes
         9625  +# ### END LIBTOOL TAG CONFIG: disable-shared
         9626  +
         9627  +# ### BEGIN LIBTOOL TAG CONFIG: disable-static
         9628  +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
         9629  +# ### END LIBTOOL TAG CONFIG: disable-static
         9630  +
         9631  +# Local Variables:
         9632  +# mode:shell-script
         9633  +# sh-indentation:2
         9634  +# End:
         9635  +# vi:sw=2
         9636  +

Added m4/libtool.m4.

            1  +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
            2  +#
            3  +#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
            4  +#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
            5  +#                 Inc.
            6  +#   Written by Gordon Matzigkeit, 1996
            7  +#
            8  +# This file is free software; the Free Software Foundation gives
            9  +# unlimited permission to copy and/or distribute it, with or without
           10  +# modifications, as long as this notice is preserved.
           11  +
           12  +m4_define([_LT_COPYING], [dnl
           13  +#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
           14  +#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
           15  +#                 Inc.
           16  +#   Written by Gordon Matzigkeit, 1996
           17  +#
           18  +#   This file is part of GNU Libtool.
           19  +#
           20  +# GNU Libtool is free software; you can redistribute it and/or
           21  +# modify it under the terms of the GNU General Public License as
           22  +# published by the Free Software Foundation; either version 2 of
           23  +# the License, or (at your option) any later version.
           24  +#
           25  +# As a special exception to the GNU General Public License,
           26  +# if you distribute this file as part of a program or library that
           27  +# is built using GNU Libtool, you may include this file under the
           28  +# same distribution terms that you use for the rest of that program.
           29  +#
           30  +# GNU Libtool is distributed in the hope that it will be useful,
           31  +# but WITHOUT ANY WARRANTY; without even the implied warranty of
           32  +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           33  +# GNU General Public License for more details.
           34  +#
           35  +# You should have received a copy of the GNU General Public License
           36  +# along with GNU Libtool; see the file COPYING.  If not, a copy
           37  +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
           38  +# obtained by writing to the Free Software Foundation, Inc.,
           39  +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
           40  +])
           41  +
           42  +# serial 57 LT_INIT
           43  +
           44  +
           45  +# LT_PREREQ(VERSION)
           46  +# ------------------
           47  +# Complain and exit if this libtool version is less that VERSION.
           48  +m4_defun([LT_PREREQ],
           49  +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
           50  +       [m4_default([$3],
           51  +		   [m4_fatal([Libtool version $1 or higher is required],
           52  +		             63)])],
           53  +       [$2])])
           54  +
           55  +
           56  +# _LT_CHECK_BUILDDIR
           57  +# ------------------
           58  +# Complain if the absolute build directory name contains unusual characters
           59  +m4_defun([_LT_CHECK_BUILDDIR],
           60  +[case `pwd` in
           61  +  *\ * | *\	*)
           62  +    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
           63  +esac
           64  +])
           65  +
           66  +
           67  +# LT_INIT([OPTIONS])
           68  +# ------------------
           69  +AC_DEFUN([LT_INIT],
           70  +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
           71  +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
           72  +AC_BEFORE([$0], [LT_LANG])dnl
           73  +AC_BEFORE([$0], [LT_OUTPUT])dnl
           74  +AC_BEFORE([$0], [LTDL_INIT])dnl
           75  +m4_require([_LT_CHECK_BUILDDIR])dnl
           76  +
           77  +dnl Autoconf doesn't catch unexpanded LT_ macros by default:
           78  +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
           79  +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
           80  +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
           81  +dnl unless we require an AC_DEFUNed macro:
           82  +AC_REQUIRE([LTOPTIONS_VERSION])dnl
           83  +AC_REQUIRE([LTSUGAR_VERSION])dnl
           84  +AC_REQUIRE([LTVERSION_VERSION])dnl
           85  +AC_REQUIRE([LTOBSOLETE_VERSION])dnl
           86  +m4_require([_LT_PROG_LTMAIN])dnl
           87  +
           88  +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
           89  +
           90  +dnl Parse OPTIONS
           91  +_LT_SET_OPTIONS([$0], [$1])
           92  +
           93  +# This can be used to rebuild libtool when needed
           94  +LIBTOOL_DEPS="$ltmain"
           95  +
           96  +# Always use our own libtool.
           97  +LIBTOOL='$(SHELL) $(top_builddir)/libtool'
           98  +AC_SUBST(LIBTOOL)dnl
           99  +
          100  +_LT_SETUP
          101  +
          102  +# Only expand once:
          103  +m4_define([LT_INIT])
          104  +])# LT_INIT
          105  +
          106  +# Old names:
          107  +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
          108  +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
          109  +dnl aclocal-1.4 backwards compatibility:
          110  +dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
          111  +dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
          112  +
          113  +
          114  +# _LT_CC_BASENAME(CC)
          115  +# -------------------
          116  +# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
          117  +m4_defun([_LT_CC_BASENAME],
          118  +[for cc_temp in $1""; do
          119  +  case $cc_temp in
          120  +    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
          121  +    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
          122  +    \-*) ;;
          123  +    *) break;;
          124  +  esac
          125  +done
          126  +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
          127  +])
          128  +
          129  +
          130  +# _LT_FILEUTILS_DEFAULTS
          131  +# ----------------------
          132  +# It is okay to use these file commands and assume they have been set
          133  +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
          134  +m4_defun([_LT_FILEUTILS_DEFAULTS],
          135  +[: ${CP="cp -f"}
          136  +: ${MV="mv -f"}
          137  +: ${RM="rm -f"}
          138  +])# _LT_FILEUTILS_DEFAULTS
          139  +
          140  +
          141  +# _LT_SETUP
          142  +# ---------
          143  +m4_defun([_LT_SETUP],
          144  +[AC_REQUIRE([AC_CANONICAL_HOST])dnl
          145  +AC_REQUIRE([AC_CANONICAL_BUILD])dnl
          146  +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
          147  +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
          148  +
          149  +_LT_DECL([], [host_alias], [0], [The host system])dnl
          150  +_LT_DECL([], [host], [0])dnl
          151  +_LT_DECL([], [host_os], [0])dnl
          152  +dnl
          153  +_LT_DECL([], [build_alias], [0], [The build system])dnl
          154  +_LT_DECL([], [build], [0])dnl
          155  +_LT_DECL([], [build_os], [0])dnl
          156  +dnl
          157  +AC_REQUIRE([AC_PROG_CC])dnl
          158  +AC_REQUIRE([LT_PATH_LD])dnl
          159  +AC_REQUIRE([LT_PATH_NM])dnl
          160  +dnl
          161  +AC_REQUIRE([AC_PROG_LN_S])dnl
          162  +test -z "$LN_S" && LN_S="ln -s"
          163  +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
          164  +dnl
          165  +AC_REQUIRE([LT_CMD_MAX_LEN])dnl
          166  +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
          167  +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
          168  +dnl
          169  +m4_require([_LT_FILEUTILS_DEFAULTS])dnl
          170  +m4_require([_LT_CHECK_SHELL_FEATURES])dnl
          171  +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
          172  +m4_require([_LT_CMD_RELOAD])dnl
          173  +m4_require([_LT_CHECK_MAGIC_METHOD])dnl
          174  +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
          175  +m4_require([_LT_CMD_OLD_ARCHIVE])dnl
          176  +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
          177  +m4_require([_LT_WITH_SYSROOT])dnl
          178  +
          179  +_LT_CONFIG_LIBTOOL_INIT([
          180  +# See if we are running on zsh, and set the options which allow our
          181  +# commands through without removal of \ escapes INIT.
          182  +if test -n "\${ZSH_VERSION+set}" ; then
          183  +   setopt NO_GLOB_SUBST
          184  +fi
          185  +])
          186  +if test -n "${ZSH_VERSION+set}" ; then
          187  +   setopt NO_GLOB_SUBST
          188  +fi
          189  +
          190  +_LT_CHECK_OBJDIR
          191  +
          192  +m4_require([_LT_TAG_COMPILER])dnl
          193  +
          194  +case $host_os in
          195  +aix3*)
          196  +  # AIX sometimes has problems with the GCC collect2 program.  For some
          197  +  # reason, if we set the COLLECT_NAMES environment variable, the problems
          198  +  # vanish in a puff of smoke.
          199  +  if test "X${COLLECT_NAMES+set}" != Xset; then
          200  +    COLLECT_NAMES=
          201  +    export COLLECT_NAMES
          202  +  fi
          203  +  ;;
          204  +esac
          205  +
          206  +# Global variables:
          207  +ofile=libtool
          208  +can_build_shared=yes
          209  +
          210  +# All known linkers require a `.a' archive for static linking (except MSVC,
          211  +# which needs '.lib').
          212  +libext=a
          213  +
          214  +with_gnu_ld="$lt_cv_prog_gnu_ld"
          215  +
          216  +old_CC="$CC"
          217  +old_CFLAGS="$CFLAGS"
          218  +
          219  +# Set sane defaults for various variables
          220  +test -z "$CC" && CC=cc
          221  +test -z "$LTCC" && LTCC=$CC
          222  +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
          223  +test -z "$LD" && LD=ld
          224  +test -z "$ac_objext" && ac_objext=o
          225  +
          226  +_LT_CC_BASENAME([$compiler])
          227  +
          228  +# Only perform the check for file, if the check method requires it
          229  +test -z "$MAGIC_CMD" && MAGIC_CMD=file
          230  +case $deplibs_check_method in
          231  +file_magic*)
          232  +  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
          233  +    _LT_PATH_MAGIC
          234  +  fi
          235  +  ;;
          236  +esac
          237  +
          238  +# Use C for the default configuration in the libtool script
          239  +LT_SUPPORTED_TAG([CC])
          240  +_LT_LANG_C_CONFIG
          241  +_LT_LANG_DEFAULT_CONFIG
          242  +_LT_CONFIG_COMMANDS
          243  +])# _LT_SETUP
          244  +
          245  +
          246  +# _LT_PREPARE_SED_QUOTE_VARS
          247  +# --------------------------
          248  +# Define a few sed substitution that help us do robust quoting.
          249  +m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
          250  +[# Backslashify metacharacters that are still active within
          251  +# double-quoted strings.
          252  +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
          253  +
          254  +# Same as above, but do not quote variable references.
          255  +double_quote_subst='s/\([["`\\]]\)/\\\1/g'
          256  +
          257  +# Sed substitution to delay expansion of an escaped shell variable in a
          258  +# double_quote_subst'ed string.
          259  +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
          260  +
          261  +# Sed substitution to delay expansion of an escaped single quote.
          262  +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
          263  +
          264  +# Sed substitution to avoid accidental globbing in evaled expressions
          265  +no_glob_subst='s/\*/\\\*/g'
          266  +])
          267  +
          268  +# _LT_PROG_LTMAIN
          269  +# ---------------
          270  +# Note that this code is called both from `configure', and `config.status'
          271  +# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
          272  +# `config.status' has no value for ac_aux_dir unless we are using Automake,
          273  +# so we pass a copy along to make sure it has a sensible value anyway.
          274  +m4_defun([_LT_PROG_LTMAIN],
          275  +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
          276  +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
          277  +ltmain="$ac_aux_dir/ltmain.sh"
          278  +])# _LT_PROG_LTMAIN
          279  +
          280  +
          281  +## ------------------------------------- ##
          282  +## Accumulate code for creating libtool. ##
          283  +## ------------------------------------- ##
          284  +
          285  +# So that we can recreate a full libtool script including additional
          286  +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
          287  +# in macros and then make a single call at the end using the `libtool'
          288  +# label.
          289  +
          290  +
          291  +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
          292  +# ----------------------------------------
          293  +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
          294  +m4_define([_LT_CONFIG_LIBTOOL_INIT],
          295  +[m4_ifval([$1],
          296  +          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
          297  +                     [$1
          298  +])])])
          299  +
          300  +# Initialize.
          301  +m4_define([_LT_OUTPUT_LIBTOOL_INIT])
          302  +
          303  +
          304  +# _LT_CONFIG_LIBTOOL([COMMANDS])
          305  +# ------------------------------
          306  +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
          307  +m4_define([_LT_CONFIG_LIBTOOL],
          308  +[m4_ifval([$1],
          309  +          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
          310  +                     [$1
          311  +])])])
          312  +
          313  +# Initialize.
          314  +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
          315  +
          316  +
          317  +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
          318  +# -----------------------------------------------------
          319  +m4_defun([_LT_CONFIG_SAVE_COMMANDS],
          320  +[_LT_CONFIG_LIBTOOL([$1])
          321  +_LT_CONFIG_LIBTOOL_INIT([$2])
          322  +])
          323  +
          324  +
          325  +# _LT_FORMAT_COMMENT([COMMENT])
          326  +# -----------------------------
          327  +# Add leading comment marks to the start of each line, and a trailing
          328  +# full-stop to the whole comment if one is not present already.
          329  +m4_define([_LT_FORMAT_COMMENT],
          330  +[m4_ifval([$1], [
          331  +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
          332  +              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
          333  +)])
          334  +
          335  +
          336  +
          337  +## ------------------------ ##
          338  +## FIXME: Eliminate VARNAME ##
          339  +## ------------------------ ##
          340  +
          341  +
          342  +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
          343  +# -------------------------------------------------------------------
          344  +# CONFIGNAME is the name given to the value in the libtool script.
          345  +# VARNAME is the (base) name used in the configure script.
          346  +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
          347  +# VARNAME.  Any other value will be used directly.
          348  +m4_define([_LT_DECL],
          349  +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
          350  +    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
          351  +	[m4_ifval([$1], [$1], [$2])])
          352  +    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
          353  +    m4_ifval([$4],
          354  +	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
          355  +    lt_dict_add_subkey([lt_decl_dict], [$2],
          356  +	[tagged?], [m4_ifval([$5], [yes], [no])])])
          357  +])
          358  +
          359  +
          360  +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
          361  +# --------------------------------------------------------
          362  +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
          363  +
          364  +
          365  +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
          366  +# ------------------------------------------------
          367  +m4_define([lt_decl_tag_varnames],
          368  +[_lt_decl_filter([tagged?], [yes], $@)])
          369  +
          370  +
          371  +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
          372  +# ---------------------------------------------------------
          373  +m4_define([_lt_decl_filter],
          374  +[m4_case([$#],
          375  +  [0], [m4_fatal([$0: too few arguments: $#])],
          376  +  [1], [m4_fatal([$0: too few arguments: $#: $1])],
          377  +  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
          378  +  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
          379  +  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
          380  +])
          381  +
          382  +
          383  +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
          384  +# --------------------------------------------------
          385  +m4_define([lt_decl_quote_varnames],
          386  +[_lt_decl_filter([value], [1], $@)])
          387  +
          388  +
          389  +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
          390  +# ---------------------------------------------------
          391  +m4_define([lt_decl_dquote_varnames],
          392  +[_lt_decl_filter([value], [2], $@)])
          393  +
          394  +
          395  +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
          396  +# ---------------------------------------------------
          397  +m4_define([lt_decl_varnames_tagged],
          398  +[m4_assert([$# <= 2])dnl
          399  +_$0(m4_quote(m4_default([$1], [[, ]])),
          400  +    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
          401  +    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
          402  +m4_define([_lt_decl_varnames_tagged],
          403  +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
          404  +
          405  +
          406  +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
          407  +# ------------------------------------------------
          408  +m4_define([lt_decl_all_varnames],
          409  +[_$0(m4_quote(m4_default([$1], [[, ]])),
          410  +     m4_if([$2], [],
          411  +	   m4_quote(lt_decl_varnames),
          412  +	m4_quote(m4_shift($@))))[]dnl
          413  +])
          414  +m4_define([_lt_decl_all_varnames],
          415  +[lt_join($@, lt_decl_varnames_tagged([$1],
          416  +			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
          417  +])
          418  +
          419  +
          420  +# _LT_CONFIG_STATUS_DECLARE([VARNAME])
          421  +# ------------------------------------
          422  +# Quote a variable value, and forward it to `config.status' so that its
          423  +# declaration there will have the same value as in `configure'.  VARNAME
          424  +# must have a single quote delimited value for this to work.
          425  +m4_define([_LT_CONFIG_STATUS_DECLARE],
          426  +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
          427  +
          428  +
          429  +# _LT_CONFIG_STATUS_DECLARATIONS
          430  +# ------------------------------
          431  +# We delimit libtool config variables with single quotes, so when
          432  +# we write them to config.status, we have to be sure to quote all
          433  +# embedded single quotes properly.  In configure, this macro expands
          434  +# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
          435  +#
          436  +#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
          437  +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
          438  +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
          439  +    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
          440  +
          441  +
          442  +# _LT_LIBTOOL_TAGS
          443  +# ----------------
          444  +# Output comment and list of tags supported by the script
          445  +m4_defun([_LT_LIBTOOL_TAGS],
          446  +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
          447  +available_tags="_LT_TAGS"dnl
          448  +])
          449  +
          450  +
          451  +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
          452  +# -----------------------------------
          453  +# Extract the dictionary values for VARNAME (optionally with TAG) and
          454  +# expand to a commented shell variable setting:
          455  +#
          456  +#    # Some comment about what VAR is for.
          457  +#    visible_name=$lt_internal_name
          458  +m4_define([_LT_LIBTOOL_DECLARE],
          459  +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
          460  +					   [description])))[]dnl
          461  +m4_pushdef([_libtool_name],
          462  +    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
          463  +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
          464  +    [0], [_libtool_name=[$]$1],
          465  +    [1], [_libtool_name=$lt_[]$1],
          466  +    [2], [_libtool_name=$lt_[]$1],
          467  +    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
          468  +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
          469  +])
          470  +
          471  +
          472  +# _LT_LIBTOOL_CONFIG_VARS
          473  +# -----------------------
          474  +# Produce commented declarations of non-tagged libtool config variables
          475  +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
          476  +# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
          477  +# section) are produced by _LT_LIBTOOL_TAG_VARS.
          478  +m4_defun([_LT_LIBTOOL_CONFIG_VARS],
          479  +[m4_foreach([_lt_var],
          480  +    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
          481  +    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
          482  +
          483  +
          484  +# _LT_LIBTOOL_TAG_VARS(TAG)
          485  +# -------------------------
          486  +m4_define([_LT_LIBTOOL_TAG_VARS],
          487  +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
          488  +    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
          489  +
          490  +
          491  +# _LT_TAGVAR(VARNAME, [TAGNAME])
          492  +# ------------------------------
          493  +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
          494  +
          495  +
          496  +# _LT_CONFIG_COMMANDS
          497  +# -------------------
          498  +# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
          499  +# variables for single and double quote escaping we saved from calls
          500  +# to _LT_DECL, we can put quote escaped variables declarations
          501  +# into `config.status', and then the shell code to quote escape them in
          502  +# for loops in `config.status'.  Finally, any additional code accumulated
          503  +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
          504  +m4_defun([_LT_CONFIG_COMMANDS],
          505  +[AC_PROVIDE_IFELSE([LT_OUTPUT],
          506  +	dnl If the libtool generation code has been placed in $CONFIG_LT,
          507  +	dnl instead of duplicating it all over again into config.status,
          508  +	dnl then we will have config.status run $CONFIG_LT later, so it
          509  +	dnl needs to know what name is stored there:
          510  +        [AC_CONFIG_COMMANDS([libtool],
          511  +            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
          512  +    dnl If the libtool generation code is destined for config.status,
          513  +    dnl expand the accumulated commands and init code now:
          514  +    [AC_CONFIG_COMMANDS([libtool],
          515  +        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
          516  +])#_LT_CONFIG_COMMANDS
          517  +
          518  +
          519  +# Initialize.
          520  +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
          521  +[
          522  +
          523  +# The HP-UX ksh and POSIX shell print the target directory to stdout
          524  +# if CDPATH is set.
          525  +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
          526  +
          527  +sed_quote_subst='$sed_quote_subst'
          528  +double_quote_subst='$double_quote_subst'
          529  +delay_variable_subst='$delay_variable_subst'
          530  +_LT_CONFIG_STATUS_DECLARATIONS
          531  +LTCC='$LTCC'
          532  +LTCFLAGS='$LTCFLAGS'
          533  +compiler='$compiler_DEFAULT'
          534  +
          535  +# A function that is used when there is no print builtin or printf.
          536  +func_fallback_echo ()
          537  +{
          538  +  eval 'cat <<_LTECHO_EOF
          539  +\$[]1
          540  +_LTECHO_EOF'
          541  +}
          542  +
          543  +# Quote evaled strings.
          544  +for var in lt_decl_all_varnames([[ \
          545  +]], lt_decl_quote_varnames); do
          546  +    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
          547  +    *[[\\\\\\\`\\"\\\$]]*)
          548  +      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
          549  +      ;;
          550  +    *)
          551  +      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
          552  +      ;;
          553  +    esac
          554  +done
          555  +
          556  +# Double-quote double-evaled strings.
          557  +for var in lt_decl_all_varnames([[ \
          558  +]], lt_decl_dquote_varnames); do
          559  +    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
          560  +    *[[\\\\\\\`\\"\\\$]]*)
          561  +      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
          562  +      ;;
          563  +    *)
          564  +      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
          565  +      ;;
          566  +    esac
          567  +done
          568  +
          569  +_LT_OUTPUT_LIBTOOL_INIT
          570  +])
          571  +
          572  +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
          573  +# ------------------------------------
          574  +# Generate a child script FILE with all initialization necessary to
          575  +# reuse the environment learned by the parent script, and make the
          576  +# file executable.  If COMMENT is supplied, it is inserted after the
          577  +# `#!' sequence but before initialization text begins.  After this
          578  +# macro, additional text can be appended to FILE to form the body of
          579  +# the child script.  The macro ends with non-zero status if the
          580  +# file could not be fully written (such as if the disk is full).
          581  +m4_ifdef([AS_INIT_GENERATED],
          582  +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
          583  +[m4_defun([_LT_GENERATED_FILE_INIT],
          584  +[m4_require([AS_PREPARE])]dnl
          585  +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
          586  +[lt_write_fail=0
          587  +cat >$1 <<_ASEOF || lt_write_fail=1
          588  +#! $SHELL
          589  +# Generated by $as_me.
          590  +$2
          591  +SHELL=\${CONFIG_SHELL-$SHELL}
          592  +export SHELL
          593  +_ASEOF
          594  +cat >>$1 <<\_ASEOF || lt_write_fail=1
          595  +AS_SHELL_SANITIZE
          596  +_AS_PREPARE
          597  +exec AS_MESSAGE_FD>&1
          598  +_ASEOF
          599  +test $lt_write_fail = 0 && chmod +x $1[]dnl
          600  +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
          601  +
          602  +# LT_OUTPUT
          603  +# ---------
          604  +# This macro allows early generation of the libtool script (before
          605  +# AC_OUTPUT is called), incase it is used in configure for compilation
          606  +# tests.
          607  +AC_DEFUN([LT_OUTPUT],
          608  +[: ${CONFIG_LT=./config.lt}
          609  +AC_MSG_NOTICE([creating $CONFIG_LT])
          610  +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
          611  +[# Run this file to recreate a libtool stub with the current configuration.])
          612  +
          613  +cat >>"$CONFIG_LT" <<\_LTEOF
          614  +lt_cl_silent=false
          615  +exec AS_MESSAGE_LOG_FD>>config.log
          616  +{
          617  +  echo
          618  +  AS_BOX([Running $as_me.])
          619  +} >&AS_MESSAGE_LOG_FD
          620  +
          621  +lt_cl_help="\
          622  +\`$as_me' creates a local libtool stub from the current configuration,
          623  +for use in further configure time tests before the real libtool is
          624  +generated.
          625  +
          626  +Usage: $[0] [[OPTIONS]]
          627  +
          628  +  -h, --help      print this help, then exit
          629  +  -V, --version   print version number, then exit
          630  +  -q, --quiet     do not print progress messages
          631  +  -d, --debug     don't remove temporary files
          632  +
          633  +Report bugs to <bug-libtool@gnu.org>."
          634  +
          635  +lt_cl_version="\
          636  +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
          637  +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
          638  +configured by $[0], generated by m4_PACKAGE_STRING.
          639  +
          640  +Copyright (C) 2010 Free Software Foundation, Inc.
          641  +This config.lt script is free software; the Free Software Foundation
          642  +gives unlimited permision to copy, distribute and modify it."
          643  +
          644  +while test $[#] != 0
          645  +do
          646  +  case $[1] in
          647  +    --version | --v* | -V )
          648  +      echo "$lt_cl_version"; exit 0 ;;
          649  +    --help | --h* | -h )
          650  +      echo "$lt_cl_help"; exit 0 ;;
          651  +    --debug | --d* | -d )
          652  +      debug=: ;;
          653  +    --quiet | --q* | --silent | --s* | -q )
          654  +      lt_cl_silent=: ;;
          655  +
          656  +    -*) AC_MSG_ERROR([unrecognized option: $[1]
          657  +Try \`$[0] --help' for more information.]) ;;
          658  +
          659  +    *) AC_MSG_ERROR([unrecognized argument: $[1]
          660  +Try \`$[0] --help' for more information.]) ;;
          661  +  esac
          662  +  shift
          663  +done
          664  +
          665  +if $lt_cl_silent; then
          666  +  exec AS_MESSAGE_FD>/dev/null
          667  +fi
          668  +_LTEOF
          669  +
          670  +cat >>"$CONFIG_LT" <<_LTEOF
          671  +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
          672  +_LTEOF
          673  +
          674  +cat >>"$CONFIG_LT" <<\_LTEOF
          675  +AC_MSG_NOTICE([creating $ofile])
          676  +_LT_OUTPUT_LIBTOOL_COMMANDS
          677  +AS_EXIT(0)
          678  +_LTEOF
          679  +chmod +x "$CONFIG_LT"
          680  +
          681  +# configure is writing to config.log, but config.lt does its own redirection,
          682  +# appending to config.log, which fails on DOS, as config.log is still kept
          683  +# open by configure.  Here we exec the FD to /dev/null, effectively closing
          684  +# config.log, so it can be properly (re)opened and appended to by config.lt.
          685  +lt_cl_success=:
          686  +test "$silent" = yes &&
          687  +  lt_config_lt_args="$lt_config_lt_args --quiet"
          688  +exec AS_MESSAGE_LOG_FD>/dev/null
          689  +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
          690  +exec AS_MESSAGE_LOG_FD>>config.log
          691  +$lt_cl_success || AS_EXIT(1)
          692  +])# LT_OUTPUT
          693  +
          694  +
          695  +# _LT_CONFIG(TAG)
          696  +# ---------------
          697  +# If TAG is the built-in tag, create an initial libtool script with a
          698  +# default configuration from the untagged config vars.  Otherwise add code
          699  +# to config.status for appending the configuration named by TAG from the
          700  +# matching tagged config vars.
          701  +m4_defun([_LT_CONFIG],
          702  +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
          703  +_LT_CONFIG_SAVE_COMMANDS([
          704  +  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
          705  +  m4_if(_LT_TAG, [C], [
          706  +    # See if we are running on zsh, and set the options which allow our
          707  +    # commands through without removal of \ escapes.
          708  +    if test -n "${ZSH_VERSION+set}" ; then
          709  +      setopt NO_GLOB_SUBST
          710  +    fi
          711  +
          712  +    cfgfile="${ofile}T"
          713  +    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
          714  +    $RM "$cfgfile"
          715  +
          716  +    cat <<_LT_EOF >> "$cfgfile"
          717  +#! $SHELL
          718  +
          719  +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
          720  +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
          721  +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
          722  +# NOTE: Changes made to this file will be lost: look at ltmain.sh.
          723  +#
          724  +_LT_COPYING
          725  +_LT_LIBTOOL_TAGS
          726  +
          727  +# ### BEGIN LIBTOOL CONFIG
          728  +_LT_LIBTOOL_CONFIG_VARS
          729  +_LT_LIBTOOL_TAG_VARS
          730  +# ### END LIBTOOL CONFIG
          731  +
          732  +_LT_EOF
          733  +
          734  +  case $host_os in
          735  +  aix3*)
          736  +    cat <<\_LT_EOF >> "$cfgfile"
          737  +# AIX sometimes has problems with the GCC collect2 program.  For some
          738  +# reason, if we set the COLLECT_NAMES environment variable, the problems
          739  +# vanish in a puff of smoke.
          740  +if test "X${COLLECT_NAMES+set}" != Xset; then
          741  +  COLLECT_NAMES=
          742  +  export COLLECT_NAMES
          743  +fi
          744  +_LT_EOF
          745  +    ;;
          746  +  esac
          747  +
          748  +  _LT_PROG_LTMAIN
          749  +
          750  +  # We use sed instead of cat because bash on DJGPP gets confused if
          751  +  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
          752  +  # text mode, it properly converts lines to CR/LF.  This bash problem
          753  +  # is reportedly fixed, but why not run on old versions too?
          754  +  sed '$q' "$ltmain" >> "$cfgfile" \
          755  +     || (rm -f "$cfgfile"; exit 1)
          756  +
          757  +  _LT_PROG_REPLACE_SHELLFNS
          758  +
          759  +   mv -f "$cfgfile" "$ofile" ||
          760  +    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
          761  +  chmod +x "$ofile"
          762  +],
          763  +[cat <<_LT_EOF >> "$ofile"
          764  +
          765  +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
          766  +dnl in a comment (ie after a #).
          767  +# ### BEGIN LIBTOOL TAG CONFIG: $1
          768  +_LT_LIBTOOL_TAG_VARS(_LT_TAG)
          769  +# ### END LIBTOOL TAG CONFIG: $1
          770  +_LT_EOF
          771  +])dnl /m4_if
          772  +],
          773  +[m4_if([$1], [], [
          774  +    PACKAGE='$PACKAGE'
          775  +    VERSION='$VERSION'
          776  +    TIMESTAMP='$TIMESTAMP'
          777  +    RM='$RM'
          778  +    ofile='$ofile'], [])
          779  +])dnl /_LT_CONFIG_SAVE_COMMANDS
          780  +])# _LT_CONFIG
          781  +
          782  +
          783  +# LT_SUPPORTED_TAG(TAG)
          784  +# ---------------------
          785  +# Trace this macro to discover what tags are supported by the libtool
          786  +# --tag option, using:
          787  +#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
          788  +AC_DEFUN([LT_SUPPORTED_TAG], [])
          789  +
          790  +
          791  +# C support is built-in for now
          792  +m4_define([_LT_LANG_C_enabled], [])
          793  +m4_define([_LT_TAGS], [])
          794  +
          795  +
          796  +# LT_LANG(LANG)
          797  +# -------------
          798  +# Enable libtool support for the given language if not already enabled.
          799  +AC_DEFUN([LT_LANG],
          800  +[AC_BEFORE([$0], [LT_OUTPUT])dnl
          801  +m4_case([$1],
          802  +  [C],			[_LT_LANG(C)],
          803  +  [C++],		[_LT_LANG(CXX)],
          804  +  [Java],		[_LT_LANG(GCJ)],
          805  +  [Fortran 77],		[_LT_LANG(F77)],
          806  +  [Fortran],		[_LT_LANG(FC)],
          807  +  [Windows Resource],	[_LT_LANG(RC)],
          808  +  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
          809  +    [_LT_LANG($1)],
          810  +    [m4_fatal([$0: unsupported language: "$1"])])])dnl
          811  +])# LT_LANG
          812  +
          813  +
          814  +# _LT_LANG(LANGNAME)
          815  +# ------------------
          816  +m4_defun([_LT_LANG],
          817  +[m4_ifdef([_LT_LANG_]$1[_enabled], [],
          818  +  [LT_SUPPORTED_TAG([$1])dnl
          819  +  m4_append([_LT_TAGS], [$1 ])dnl
          820  +  m4_define([_LT_LANG_]$1[_enabled], [])dnl
          821  +  _LT_LANG_$1_CONFIG($1)])dnl
          822  +])# _LT_LANG
          823  +
          824  +
          825  +# _LT_LANG_DEFAULT_CONFIG
          826  +# -----------------------
          827  +m4_defun([_LT_LANG_DEFAULT_CONFIG],
          828  +[AC_PROVIDE_IFELSE([AC_PROG_CXX],
          829  +  [LT_LANG(CXX)],
          830  +  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
          831  +
          832  +AC_PROVIDE_IFELSE([AC_PROG_F77],
          833  +  [LT_LANG(F77)],
          834  +  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
          835  +
          836  +AC_PROVIDE_IFELSE([AC_PROG_FC],
          837  +  [LT_LANG(FC)],
          838  +  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
          839  +
          840  +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
          841  +dnl pulling things in needlessly.
          842  +AC_PROVIDE_IFELSE([AC_PROG_GCJ],
          843  +  [LT_LANG(GCJ)],
          844  +  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
          845  +    [LT_LANG(GCJ)],
          846  +    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
          847  +      [LT_LANG(GCJ)],
          848  +      [m4_ifdef([AC_PROG_GCJ],
          849  +	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
          850  +       m4_ifdef([A][M_PROG_GCJ],
          851  +	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
          852  +       m4_ifdef([LT_PROG_GCJ],
          853  +	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
          854  +
          855  +AC_PROVIDE_IFELSE([LT_PROG_RC],
          856  +  [LT_LANG(RC)],
          857  +  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
          858  +])# _LT_LANG_DEFAULT_CONFIG
          859  +
          860  +# Obsolete macros:
          861  +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
          862  +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
          863  +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
          864  +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
          865  +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
          866  +dnl aclocal-1.4 backwards compatibility:
          867  +dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
          868  +dnl AC_DEFUN([AC_LIBTOOL_F77], [])
          869  +dnl AC_DEFUN([AC_LIBTOOL_FC], [])
          870  +dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
          871  +dnl AC_DEFUN([AC_LIBTOOL_RC], [])
          872  +
          873  +
          874  +# _LT_TAG_COMPILER
          875  +# ----------------
          876  +m4_defun([_LT_TAG_COMPILER],
          877  +[AC_REQUIRE([AC_PROG_CC])dnl
          878  +
          879  +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
          880  +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
          881  +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
          882  +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
          883  +
          884  +# If no C compiler was specified, use CC.
          885  +LTCC=${LTCC-"$CC"}
          886  +
          887  +# If no C compiler flags were specified, use CFLAGS.
          888  +LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
          889  +
          890  +# Allow CC to be a program name with arguments.
          891  +compiler=$CC
          892  +])# _LT_TAG_COMPILER
          893  +
          894  +
          895  +# _LT_COMPILER_BOILERPLATE
          896  +# ------------------------
          897  +# Check for compiler boilerplate output or warnings with
          898  +# the simple compiler test code.
          899  +m4_defun([_LT_COMPILER_BOILERPLATE],
          900  +[m4_require([_LT_DECL_SED])dnl
          901  +ac_outfile=conftest.$ac_objext
          902  +echo "$lt_simple_compile_test_code" >conftest.$ac_ext
          903  +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
          904  +_lt_compiler_boilerplate=`cat conftest.err`
          905  +$RM conftest*
          906  +])# _LT_COMPILER_BOILERPLATE
          907  +
          908  +
          909  +# _LT_LINKER_BOILERPLATE
          910  +# ----------------------
          911  +# Check for linker boilerplate output or warnings with
          912  +# the simple link test code.
          913  +m4_defun([_LT_LINKER_BOILERPLATE],
          914  +[m4_require([_LT_DECL_SED])dnl
          915  +ac_outfile=conftest.$ac_objext
          916  +echo "$lt_simple_link_test_code" >conftest.$ac_ext
          917  +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
          918  +_lt_linker_boilerplate=`cat conftest.err`
          919  +$RM -r conftest*
          920  +])# _LT_LINKER_BOILERPLATE
          921  +
          922  +# _LT_REQUIRED_DARWIN_CHECKS
          923  +# -------------------------
          924  +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
          925  +  case $host_os in
          926  +    rhapsody* | darwin*)
          927  +    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
          928  +    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
          929  +    AC_CHECK_TOOL([LIPO], [lipo], [:])
          930  +    AC_CHECK_TOOL([OTOOL], [otool], [:])
          931  +    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
          932  +    _LT_DECL([], [DSYMUTIL], [1],
          933  +      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
          934  +    _LT_DECL([], [NMEDIT], [1],
          935  +      [Tool to change global to local symbols on Mac OS X])
          936  +    _LT_DECL([], [LIPO], [1],
          937  +      [Tool to manipulate fat objects and archives on Mac OS X])
          938  +    _LT_DECL([], [OTOOL], [1],
          939  +      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
          940  +    _LT_DECL([], [OTOOL64], [1],
          941  +      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
          942  +
          943  +    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
          944  +      [lt_cv_apple_cc_single_mod=no
          945  +      if test -z "${LT_MULTI_MODULE}"; then
          946  +	# By default we will add the -single_module flag. You can override
          947  +	# by either setting the environment variable LT_MULTI_MODULE
          948  +	# non-empty at configure time, or by adding -multi_module to the
          949  +	# link flags.
          950  +	rm -rf libconftest.dylib*
          951  +	echo "int foo(void){return 1;}" > conftest.c
          952  +	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          953  +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
          954  +	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
          955  +	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
          956  +        _lt_result=$?
          957  +	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
          958  +	  lt_cv_apple_cc_single_mod=yes
          959  +	else
          960  +	  cat conftest.err >&AS_MESSAGE_LOG_FD
          961  +	fi
          962  +	rm -rf libconftest.dylib*
          963  +	rm -f conftest.*
          964  +      fi])
          965  +    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
          966  +      [lt_cv_ld_exported_symbols_list],
          967  +      [lt_cv_ld_exported_symbols_list=no
          968  +      save_LDFLAGS=$LDFLAGS
          969  +      echo "_main" > conftest.sym
          970  +      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
          971  +      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
          972  +	[lt_cv_ld_exported_symbols_list=yes],
          973  +	[lt_cv_ld_exported_symbols_list=no])
          974  +	LDFLAGS="$save_LDFLAGS"
          975  +    ])
          976  +    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
          977  +      [lt_cv_ld_force_load=no
          978  +      cat > conftest.c << _LT_EOF
          979  +int forced_loaded() { return 2;}
          980  +_LT_EOF
          981  +      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
          982  +      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
          983  +      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
          984  +      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
          985  +      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
          986  +      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
          987  +      cat > conftest.c << _LT_EOF
          988  +int main() { return 0;}
          989  +_LT_EOF
          990  +      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
          991  +      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
          992  +      _lt_result=$?
          993  +      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
          994  +	lt_cv_ld_force_load=yes
          995  +      else
          996  +	cat conftest.err >&AS_MESSAGE_LOG_FD
          997  +      fi
          998  +        rm -f conftest.err libconftest.a conftest conftest.c
          999  +        rm -rf conftest.dSYM
         1000  +    ])
         1001  +    case $host_os in
         1002  +    rhapsody* | darwin1.[[012]])
         1003  +      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
         1004  +    darwin1.*)
         1005  +      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
         1006  +    darwin*) # darwin 5.x on
         1007  +      # if running on 10.5 or later, the deployment target defaults
         1008  +      # to the OS version, if on x86, and 10.4, the deployment
         1009  +      # target defaults to 10.4. Don't you love it?
         1010  +      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
         1011  +	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
         1012  +	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
         1013  +	10.[[012]]*)
         1014  +	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
         1015  +	10.*)
         1016  +	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
         1017  +      esac
         1018  +    ;;
         1019  +  esac
         1020  +    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
         1021  +      _lt_dar_single_mod='$single_module'
         1022  +    fi
         1023  +    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
         1024  +      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
         1025  +    else
         1026  +      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
         1027  +    fi
         1028  +    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
         1029  +      _lt_dsymutil='~$DSYMUTIL $lib || :'
         1030  +    else
         1031  +      _lt_dsymutil=
         1032  +    fi
         1033  +    ;;
         1034  +  esac
         1035  +])
         1036  +
         1037  +
         1038  +# _LT_DARWIN_LINKER_FEATURES
         1039  +# --------------------------
         1040  +# Checks for linker and compiler features on darwin
         1041  +m4_defun([_LT_DARWIN_LINKER_FEATURES],
         1042  +[
         1043  +  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
         1044  +  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
         1045  +  _LT_TAGVAR(hardcode_direct, $1)=no
         1046  +  _LT_TAGVAR(hardcode_automatic, $1)=yes
         1047  +  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
         1048  +  if test "$lt_cv_ld_force_load" = "yes"; then
         1049  +    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
         1050  +  else
         1051  +    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
         1052  +  fi
         1053  +  _LT_TAGVAR(link_all_deplibs, $1)=yes
         1054  +  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
         1055  +  case $cc_basename in
         1056  +     ifort*) _lt_dar_can_shared=yes ;;
         1057  +     *) _lt_dar_can_shared=$GCC ;;
         1058  +  esac
         1059  +  if test "$_lt_dar_can_shared" = "yes"; then
         1060  +    output_verbose_link_cmd=func_echo_all
         1061  +    _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}"
         1062  +    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
         1063  +    _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}"
         1064  +    _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}"
         1065  +    m4_if([$1], [CXX],
         1066  +[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
         1067  +      _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}"
         1068  +      _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}"
         1069  +    fi
         1070  +],[])
         1071  +  else
         1072  +  _LT_TAGVAR(ld_shlibs, $1)=no
         1073  +  fi
         1074  +])
         1075  +
         1076  +# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
         1077  +# ----------------------------------
         1078  +# Links a minimal program and checks the executable
         1079  +# for the system default hardcoded library path. In most cases,
         1080  +# this is /usr/lib:/lib, but when the MPI compilers are used
         1081  +# the location of the communication and MPI libs are included too.
         1082  +# If we don't find anything, use the default library path according
         1083  +# to the aix ld manual.
         1084  +# Store the results from the different compilers for each TAGNAME.
         1085  +# Allow to override them for all tags through lt_cv_aix_libpath.
         1086  +m4_defun([_LT_SYS_MODULE_PATH_AIX],
         1087  +[m4_require([_LT_DECL_SED])dnl
         1088  +if test "${lt_cv_aix_libpath+set}" = set; then
         1089  +  aix_libpath=$lt_cv_aix_libpath
         1090  +else
         1091  +  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
         1092  +  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
         1093  +  lt_aix_libpath_sed='[
         1094  +      /Import File Strings/,/^$/ {
         1095  +	  /^0/ {
         1096  +	      s/^0  *\([^ ]*\) *$/\1/
         1097  +	      p
         1098  +	  }
         1099  +      }]'
         1100  +  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
         1101  +  # Check for a 64-bit object if we didn't find anything.
         1102  +  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
         1103  +    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
         1104  +  fi],[])
         1105  +  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
         1106  +    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
         1107  +  fi
         1108  +  ])
         1109  +  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
         1110  +fi
         1111  +])# _LT_SYS_MODULE_PATH_AIX
         1112  +
         1113  +
         1114  +# _LT_SHELL_INIT(ARG)
         1115  +# -------------------
         1116  +m4_define([_LT_SHELL_INIT],
         1117  +[m4_divert_text([M4SH-INIT], [$1
         1118  +])])# _LT_SHELL_INIT
         1119  +
         1120  +
         1121  +
         1122  +# _LT_PROG_ECHO_BACKSLASH
         1123  +# -----------------------
         1124  +# Find how we can fake an echo command that does not interpret backslash.
         1125  +# In particular, with Autoconf 2.60 or later we add some code to the start
         1126  +# of the generated configure script which will find a shell with a builtin
         1127  +# printf (which we can use as an echo command).
         1128  +m4_defun([_LT_PROG_ECHO_BACKSLASH],
         1129  +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
         1130  +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
         1131  +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
         1132  +
         1133  +AC_MSG_CHECKING([how to print strings])
         1134  +# Test print first, because it will be a builtin if present.
         1135  +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
         1136  +   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
         1137  +  ECHO='print -r --'
         1138  +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
         1139  +  ECHO='printf %s\n'
         1140  +else
         1141  +  # Use this function as a fallback that always works.
         1142  +  func_fallback_echo ()
         1143  +  {
         1144  +    eval 'cat <<_LTECHO_EOF
         1145  +$[]1
         1146  +_LTECHO_EOF'
         1147  +  }
         1148  +  ECHO='func_fallback_echo'
         1149  +fi
         1150  +
         1151  +# func_echo_all arg...
         1152  +# Invoke $ECHO with all args, space-separated.
         1153  +func_echo_all ()
         1154  +{
         1155  +    $ECHO "$*" 
         1156  +}
         1157  +
         1158  +case "$ECHO" in
         1159  +  printf*) AC_MSG_RESULT([printf]) ;;
         1160  +  print*) AC_MSG_RESULT([print -r]) ;;
         1161  +  *) AC_MSG_RESULT([cat]) ;;
         1162  +esac
         1163  +
         1164  +m4_ifdef([_AS_DETECT_SUGGESTED],
         1165  +[_AS_DETECT_SUGGESTED([
         1166  +  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
         1167  +    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
         1168  +    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
         1169  +    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
         1170  +    PATH=/empty FPATH=/empty; export PATH FPATH
         1171  +    test "X`printf %s $ECHO`" = "X$ECHO" \
         1172  +      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
         1173  +
         1174  +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
         1175  +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
         1176  +])# _LT_PROG_ECHO_BACKSLASH
         1177  +
         1178  +
         1179  +# _LT_WITH_SYSROOT
         1180  +# ----------------
         1181  +AC_DEFUN([_LT_WITH_SYSROOT],
         1182  +[AC_MSG_CHECKING([for sysroot])
         1183  +AC_ARG_WITH([sysroot],
         1184  +[  --with-sysroot[=DIR] Search for dependent libraries within DIR
         1185  +                        (or the compiler's sysroot if not specified).],
         1186  +[], [with_sysroot=no])
         1187  +
         1188  +dnl lt_sysroot will always be passed unquoted.  We quote it here
         1189  +dnl in case the user passed a directory name.
         1190  +lt_sysroot=
         1191  +case ${with_sysroot} in #(
         1192  + yes)
         1193  +   if test "$GCC" = yes; then
         1194  +     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
         1195  +   fi
         1196  +   ;; #(
         1197  + /*)
         1198  +   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
         1199  +   ;; #(
         1200  + no|'')
         1201  +   ;; #(
         1202  + *)
         1203  +   AC_MSG_RESULT([${with_sysroot}])
         1204  +   AC_MSG_ERROR([The sysroot must be an absolute path.])
         1205  +   ;;
         1206  +esac
         1207  +
         1208  + AC_MSG_RESULT([${lt_sysroot:-no}])
         1209  +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
         1210  +[dependent libraries, and in which our libraries should be installed.])])
         1211  +
         1212  +# _LT_ENABLE_LOCK
         1213  +# ---------------
         1214  +m4_defun([_LT_ENABLE_LOCK],
         1215  +[AC_ARG_ENABLE([libtool-lock],
         1216  +  [AS_HELP_STRING([--disable-libtool-lock],
         1217  +    [avoid locking (might break parallel builds)])])
         1218  +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
         1219  +
         1220  +# Some flags need to be propagated to the compiler or linker for good
         1221  +# libtool support.
         1222  +case $host in
         1223  +ia64-*-hpux*)
         1224  +  # Find out which ABI we are using.
         1225  +  echo 'int i;' > conftest.$ac_ext
         1226  +  if AC_TRY_EVAL(ac_compile); then
         1227  +    case `/usr/bin/file conftest.$ac_objext` in
         1228  +      *ELF-32*)
         1229  +	HPUX_IA64_MODE="32"
         1230  +	;;
         1231  +      *ELF-64*)
         1232  +	HPUX_IA64_MODE="64"
         1233  +	;;
         1234  +    esac
         1235  +  fi
         1236  +  rm -rf conftest*
         1237  +  ;;
         1238  +*-*-irix6*)
         1239  +  # Find out which ABI we are using.
         1240  +  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
         1241  +  if AC_TRY_EVAL(ac_compile); then
         1242  +    if test "$lt_cv_prog_gnu_ld" = yes; then
         1243  +      case `/usr/bin/file conftest.$ac_objext` in
         1244  +	*32-bit*)
         1245  +	  LD="${LD-ld} -melf32bsmip"
         1246  +	  ;;
         1247  +	*N32*)
         1248  +	  LD="${LD-ld} -melf32bmipn32"
         1249  +	  ;;
         1250  +	*64-bit*)
         1251  +	  LD="${LD-ld} -melf64bmip"
         1252  +	;;
         1253  +      esac
         1254  +    else
         1255  +      case `/usr/bin/file conftest.$ac_objext` in
         1256  +	*32-bit*)
         1257  +	  LD="${LD-ld} -32"
         1258  +	  ;;
         1259  +	*N32*)
         1260  +	  LD="${LD-ld} -n32"
         1261  +	  ;;
         1262  +	*64-bit*)
         1263  +	  LD="${LD-ld} -64"
         1264  +	  ;;
         1265  +      esac
         1266  +    fi
         1267  +  fi
         1268  +  rm -rf conftest*
         1269  +  ;;
         1270  +
         1271  +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
         1272  +s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
         1273  +  # Find out which ABI we are using.
         1274  +  echo 'int i;' > conftest.$ac_ext
         1275  +  if AC_TRY_EVAL(ac_compile); then
         1276  +    case `/usr/bin/file conftest.o` in
         1277  +      *32-bit*)
         1278  +	case $host in
         1279  +	  x86_64-*kfreebsd*-gnu)
         1280  +	    LD="${LD-ld} -m elf_i386_fbsd"
         1281  +	    ;;
         1282  +	  x86_64-*linux*)
         1283  +	    LD="${LD-ld} -m elf_i386"
         1284  +	    ;;
         1285  +	  ppc64-*linux*|powerpc64-*linux*)
         1286  +	    LD="${LD-ld} -m elf32ppclinux"
         1287  +	    ;;
         1288  +	  s390x-*linux*)
         1289  +	    LD="${LD-ld} -m elf_s390"
         1290  +	    ;;
         1291  +	  sparc64-*linux*)
         1292  +	    LD="${LD-ld} -m elf32_sparc"
         1293  +	    ;;
         1294  +	esac
         1295  +	;;
         1296  +      *64-bit*)
         1297  +	case $host in
         1298  +	  x86_64-*kfreebsd*-gnu)
         1299  +	    LD="${LD-ld} -m elf_x86_64_fbsd"
         1300  +	    ;;
         1301  +	  x86_64-*linux*)
         1302  +	    LD="${LD-ld} -m elf_x86_64"
         1303  +	    ;;
         1304  +	  ppc*-*linux*|powerpc*-*linux*)
         1305  +	    LD="${LD-ld} -m elf64ppc"
         1306  +	    ;;
         1307  +	  s390*-*linux*|s390*-*tpf*)
         1308  +	    LD="${LD-ld} -m elf64_s390"
         1309  +	    ;;
         1310  +	  sparc*-*linux*)
         1311  +	    LD="${LD-ld} -m elf64_sparc"
         1312  +	    ;;
         1313  +	esac
         1314  +	;;
         1315  +    esac
         1316  +  fi
         1317  +  rm -rf conftest*
         1318  +  ;;
         1319  +
         1320  +*-*-sco3.2v5*)
         1321  +  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
         1322  +  SAVE_CFLAGS="$CFLAGS"
         1323  +  CFLAGS="$CFLAGS -belf"
         1324  +  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
         1325  +    [AC_LANG_PUSH(C)
         1326  +     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
         1327  +     AC_LANG_POP])
         1328  +  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
         1329  +    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
         1330  +    CFLAGS="$SAVE_CFLAGS"
         1331  +  fi
         1332  +  ;;
         1333  +sparc*-*solaris*)
         1334  +  # Find out which ABI we are using.
         1335  +  echo 'int i;' > conftest.$ac_ext
         1336  +  if AC_TRY_EVAL(ac_compile); then
         1337  +    case `/usr/bin/file conftest.o` in
         1338  +    *64-bit*)
         1339  +      case $lt_cv_prog_gnu_ld in
         1340  +      yes*) LD="${LD-ld} -m elf64_sparc" ;;
         1341  +      *)
         1342  +	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
         1343  +	  LD="${LD-ld} -64"
         1344  +	fi
         1345  +	;;
         1346  +      esac
         1347  +      ;;
         1348  +    esac
         1349  +  fi
         1350  +  rm -rf conftest*
         1351  +  ;;
         1352  +esac
         1353  +
         1354  +need_locks="$enable_libtool_lock"
         1355  +])# _LT_ENABLE_LOCK
         1356  +
         1357  +
         1358  +# _LT_PROG_AR
         1359  +# -----------
         1360  +m4_defun([_LT_PROG_AR],
         1361  +[AC_CHECK_TOOLS(AR, [ar], false)
         1362  +: ${AR=ar}
         1363  +: ${AR_FLAGS=cru}
         1364  +_LT_DECL([], [AR], [1], [The archiver])
         1365  +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
         1366  +
         1367  +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
         1368  +  [lt_cv_ar_at_file=no
         1369  +   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
         1370  +     [echo conftest.$ac_objext > conftest.lst
         1371  +      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
         1372  +      AC_TRY_EVAL([lt_ar_try])
         1373  +      if test "$ac_status" -eq 0; then
         1374  +	# Ensure the archiver fails upon bogus file names.
         1375  +	rm -f conftest.$ac_objext libconftest.a
         1376  +	AC_TRY_EVAL([lt_ar_try])
         1377  +	if test "$ac_status" -ne 0; then
         1378  +          lt_cv_ar_at_file=@
         1379  +        fi
         1380  +      fi
         1381  +      rm -f conftest.* libconftest.a
         1382  +     ])
         1383  +  ])
         1384  +
         1385  +if test "x$lt_cv_ar_at_file" = xno; then
         1386  +  archiver_list_spec=
         1387  +else
         1388  +  archiver_list_spec=$lt_cv_ar_at_file
         1389  +fi
         1390  +_LT_DECL([], [archiver_list_spec], [1],
         1391  +  [How to feed a file listing to the archiver])
         1392  +])# _LT_PROG_AR
         1393  +
         1394  +
         1395  +# _LT_CMD_OLD_ARCHIVE
         1396  +# -------------------
         1397  +m4_defun([_LT_CMD_OLD_ARCHIVE],
         1398  +[_LT_PROG_AR
         1399  +
         1400  +AC_CHECK_TOOL(STRIP, strip, :)
         1401  +test -z "$STRIP" && STRIP=:
         1402  +_LT_DECL([], [STRIP], [1], [A symbol stripping program])
         1403  +
         1404  +AC_CHECK_TOOL(RANLIB, ranlib, :)
         1405  +test -z "$RANLIB" && RANLIB=:
         1406  +_LT_DECL([], [RANLIB], [1],
         1407  +    [Commands used to install an old-style archive])
         1408  +
         1409  +# Determine commands to create old-style static archives.
         1410  +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
         1411  +old_postinstall_cmds='chmod 644 $oldlib'
         1412  +old_postuninstall_cmds=
         1413  +
         1414  +if test -n "$RANLIB"; then
         1415  +  case $host_os in
         1416  +  openbsd*)
         1417  +    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
         1418  +    ;;
         1419  +  *)
         1420  +    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
         1421  +    ;;
         1422  +  esac
         1423  +  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
         1424  +fi
         1425  +
         1426  +case $host_os in
         1427  +  darwin*)
         1428  +    lock_old_archive_extraction=yes ;;
         1429  +  *)
         1430  +    lock_old_archive_extraction=no ;;
         1431  +esac
         1432  +_LT_DECL([], [old_postinstall_cmds], [2])
         1433  +_LT_DECL([], [old_postuninstall_cmds], [2])
         1434  +_LT_TAGDECL([], [old_archive_cmds], [2],
         1435  +    [Commands used to build an old-style archive])
         1436  +_LT_DECL([], [lock_old_archive_extraction], [0],
         1437  +    [Whether to use a lock for old archive extraction])
         1438  +])# _LT_CMD_OLD_ARCHIVE
         1439  +
         1440  +
         1441  +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
         1442  +#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
         1443  +# ----------------------------------------------------------------
         1444  +# Check whether the given compiler option works
         1445  +AC_DEFUN([_LT_COMPILER_OPTION],
         1446  +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
         1447  +m4_require([_LT_DECL_SED])dnl
         1448  +AC_CACHE_CHECK([$1], [$2],
         1449  +  [$2=no
         1450  +   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
         1451  +   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
         1452  +   lt_compiler_flag="$3"
         1453  +   # Insert the option either (1) after the last *FLAGS variable, or
         1454  +   # (2) before a word containing "conftest.", or (3) at the end.
         1455  +   # Note that $ac_compile itself does not contain backslashes and begins
         1456  +   # with a dollar sign (not a hyphen), so the echo should work correctly.
         1457  +   # The option is referenced via a variable to avoid confusing sed.
         1458  +   lt_compile=`echo "$ac_compile" | $SED \
         1459  +   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
         1460  +   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
         1461  +   -e 's:$: $lt_compiler_flag:'`
         1462  +   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
         1463  +   (eval "$lt_compile" 2>conftest.err)
         1464  +   ac_status=$?
         1465  +   cat conftest.err >&AS_MESSAGE_LOG_FD
         1466  +   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
         1467  +   if (exit $ac_status) && test -s "$ac_outfile"; then
         1468  +     # The compiler can only warn and ignore the option if not recognized
         1469  +     # So say no if there are warnings other than the usual output.
         1470  +     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
         1471  +     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
         1472  +     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
         1473  +       $2=yes
         1474  +     fi
         1475  +   fi
         1476  +   $RM conftest*
         1477  +])
         1478  +
         1479  +if test x"[$]$2" = xyes; then
         1480  +    m4_if([$5], , :, [$5])
         1481  +else
         1482  +    m4_if([$6], , :, [$6])
         1483  +fi
         1484  +])# _LT_COMPILER_OPTION
         1485  +
         1486  +# Old name:
         1487  +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
         1488  +dnl aclocal-1.4 backwards compatibility:
         1489  +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
         1490  +
         1491  +
         1492  +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
         1493  +#                  [ACTION-SUCCESS], [ACTION-FAILURE])
         1494  +# ----------------------------------------------------
         1495  +# Check whether the given linker option works
         1496  +AC_DEFUN([_LT_LINKER_OPTION],
         1497  +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
         1498  +m4_require([_LT_DECL_SED])dnl
         1499  +AC_CACHE_CHECK([$1], [$2],
         1500  +  [$2=no
         1501  +   save_LDFLAGS="$LDFLAGS"
         1502  +   LDFLAGS="$LDFLAGS $3"
         1503  +   echo "$lt_simple_link_test_code" > conftest.$ac_ext
         1504  +   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
         1505  +     # The linker can only warn and ignore the option if not recognized
         1506  +     # So say no if there are warnings
         1507  +     if test -s conftest.err; then
         1508  +       # Append any errors to the config.log.
         1509  +       cat conftest.err 1>&AS_MESSAGE_LOG_FD
         1510  +       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
         1511  +       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
         1512  +       if diff conftest.exp conftest.er2 >/dev/null; then
         1513  +         $2=yes
         1514  +       fi
         1515  +     else
         1516  +       $2=yes
         1517  +     fi
         1518  +   fi
         1519  +   $RM -r conftest*
         1520  +   LDFLAGS="$save_LDFLAGS"
         1521  +])
         1522  +
         1523  +if test x"[$]$2" = xyes; then
         1524  +    m4_if([$4], , :, [$4])
         1525  +else
         1526  +    m4_if([$5], , :, [$5])
         1527  +fi
         1528  +])# _LT_LINKER_OPTION
         1529  +
         1530  +# Old name:
         1531  +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
         1532  +dnl aclocal-1.4 backwards compatibility:
         1533  +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
         1534  +
         1535  +
         1536  +# LT_CMD_MAX_LEN
         1537  +#---------------
         1538  +AC_DEFUN([LT_CMD_MAX_LEN],
         1539  +[AC_REQUIRE([AC_CANONICAL_HOST])dnl
         1540  +# find the maximum length of command line arguments
         1541  +AC_MSG_CHECKING([the maximum length of command line arguments])
         1542  +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
         1543  +  i=0
         1544  +  teststring="ABCD"
         1545  +
         1546  +  case $build_os in
         1547  +  msdosdjgpp*)
         1548  +    # On DJGPP, this test can blow up pretty badly due to problems in libc
         1549  +    # (any single argument exceeding 2000 bytes causes a buffer overrun
         1550  +    # during glob expansion).  Even if it were fixed, the result of this
         1551  +    # check would be larger than it should be.
         1552  +    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
         1553  +    ;;
         1554  +
         1555  +  gnu*)
         1556  +    # Under GNU Hurd, this test is not required because there is
         1557  +    # no limit to the length of command line arguments.
         1558  +    # Libtool will interpret -1 as no limit whatsoever
         1559  +    lt_cv_sys_max_cmd_len=-1;
         1560  +    ;;
         1561  +
         1562  +  cygwin* | mingw* | cegcc*)
         1563  +    # On Win9x/ME, this test blows up -- it succeeds, but takes
         1564  +    # about 5 minutes as the teststring grows exponentially.
         1565  +    # Worse, since 9x/ME are not pre-emptively multitasking,
         1566  +    # you end up with a "frozen" computer, even though with patience
         1567  +    # the test eventually succeeds (with a max line length of 256k).
         1568  +    # Instead, let's just punt: use the minimum linelength reported by
         1569  +    # all of the supported platforms: 8192 (on NT/2K/XP).
         1570  +    lt_cv_sys_max_cmd_len=8192;
         1571  +    ;;
         1572  +
         1573  +  mint*)
         1574  +    # On MiNT this can take a long time and run out of memory.
         1575  +    lt_cv_sys_max_cmd_len=8192;
         1576  +    ;;
         1577  +
         1578  +  amigaos*)
         1579  +    # On AmigaOS with pdksh, this test takes hours, literally.
         1580  +    # So we just punt and use a minimum line length of 8192.
         1581  +    lt_cv_sys_max_cmd_len=8192;
         1582  +    ;;
         1583  +
         1584  +  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
         1585  +    # This has been around since 386BSD, at least.  Likely further.
         1586  +    if test -x /sbin/sysctl; then
         1587  +      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
         1588  +    elif test -x /usr/sbin/sysctl; then
         1589  +      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
         1590  +    else
         1591  +      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
         1592  +    fi
         1593  +    # And add a safety zone
         1594  +    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
         1595  +    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
         1596  +    ;;
         1597  +
         1598  +  interix*)
         1599  +    # We know the value 262144 and hardcode it with a safety zone (like BSD)
         1600  +    lt_cv_sys_max_cmd_len=196608
         1601  +    ;;
         1602  +
         1603  +  osf*)
         1604  +    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
         1605  +    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
         1606  +    # nice to cause kernel panics so lets avoid the loop below.
         1607  +    # First set a reasonable default.
         1608  +    lt_cv_sys_max_cmd_len=16384
         1609  +    #
         1610  +    if test -x /sbin/sysconfig; then
         1611  +      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
         1612  +        *1*) lt_cv_sys_max_cmd_len=-1 ;;
         1613  +      esac
         1614  +    fi
         1615  +    ;;
         1616  +  sco3.2v5*)
         1617  +    lt_cv_sys_max_cmd_len=102400
         1618  +    ;;
         1619  +  sysv5* | sco5v6* | sysv4.2uw2*)
         1620  +    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
         1621  +    if test -n "$kargmax"; then
         1622  +      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
         1623  +    else
         1624  +      lt_cv_sys_max_cmd_len=32768
         1625  +    fi
         1626  +    ;;
         1627  +  *)
         1628  +    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
         1629  +    if test -n "$lt_cv_sys_max_cmd_len"; then
         1630  +      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
         1631  +      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
         1632  +    else
         1633  +      # Make teststring a little bigger before we do anything with it.
         1634  +      # a 1K string should be a reasonable start.
         1635  +      for i in 1 2 3 4 5 6 7 8 ; do
         1636  +        teststring=$teststring$teststring
         1637  +      done
         1638  +      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
         1639  +      # If test is not a shell built-in, we'll probably end up computing a
         1640  +      # maximum length that is only half of the actual maximum length, but
         1641  +      # we can't tell.
         1642  +      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
         1643  +	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
         1644  +	      test $i != 17 # 1/2 MB should be enough
         1645  +      do
         1646  +        i=`expr $i + 1`
         1647  +        teststring=$teststring$teststring
         1648  +      done
         1649  +      # Only check the string length outside the loop.
         1650  +      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
         1651  +      teststring=
         1652  +      # Add a significant safety factor because C++ compilers can tack on
         1653  +      # massive amounts of additional arguments before passing them to the
         1654  +      # linker.  It appears as though 1/2 is a usable value.
         1655  +      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
         1656  +    fi
         1657  +    ;;
         1658  +  esac
         1659  +])
         1660  +if test -n $lt_cv_sys_max_cmd_len ; then
         1661  +  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
         1662  +else
         1663  +  AC_MSG_RESULT(none)
         1664  +fi
         1665  +max_cmd_len=$lt_cv_sys_max_cmd_len
         1666  +_LT_DECL([], [max_cmd_len], [0],
         1667  +    [What is the maximum length of a command?])
         1668  +])# LT_CMD_MAX_LEN
         1669  +
         1670  +# Old name:
         1671  +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
         1672  +dnl aclocal-1.4 backwards compatibility:
         1673  +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
         1674  +
         1675  +
         1676  +# _LT_HEADER_DLFCN
         1677  +# ----------------
         1678  +m4_defun([_LT_HEADER_DLFCN],
         1679  +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
         1680  +])# _LT_HEADER_DLFCN
         1681  +
         1682  +
         1683  +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
         1684  +#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
         1685  +# ----------------------------------------------------------------
         1686  +m4_defun([_LT_TRY_DLOPEN_SELF],
         1687  +[m4_require([_LT_HEADER_DLFCN])dnl
         1688  +if test "$cross_compiling" = yes; then :
         1689  +  [$4]
         1690  +else
         1691  +  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
         1692  +  lt_status=$lt_dlunknown
         1693  +  cat > conftest.$ac_ext <<_LT_EOF
         1694  +[#line $LINENO "configure"
         1695  +#include "confdefs.h"
         1696  +
         1697  +#if HAVE_DLFCN_H
         1698  +#include <dlfcn.h>
         1699  +#endif
         1700  +
         1701  +#include <stdio.h>
         1702  +
         1703  +#ifdef RTLD_GLOBAL
         1704  +#  define LT_DLGLOBAL		RTLD_GLOBAL
         1705  +#else
         1706  +#  ifdef DL_GLOBAL
         1707  +#    define LT_DLGLOBAL		DL_GLOBAL
         1708  +#  else
         1709  +#    define LT_DLGLOBAL		0
         1710  +#  endif
         1711  +#endif
         1712  +
         1713  +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
         1714  +   find out it does not work in some platform. */
         1715  +#ifndef LT_DLLAZY_OR_NOW
         1716  +#  ifdef RTLD_LAZY
         1717  +#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
         1718  +#  else
         1719  +#    ifdef DL_LAZY
         1720  +#      define LT_DLLAZY_OR_NOW		DL_LAZY
         1721  +#    else
         1722  +#      ifdef RTLD_NOW
         1723  +#        define LT_DLLAZY_OR_NOW	RTLD_NOW
         1724  +#      else
         1725  +#        ifdef DL_NOW
         1726  +#          define LT_DLLAZY_OR_NOW	DL_NOW
         1727  +#        else
         1728  +#          define LT_DLLAZY_OR_NOW	0
         1729  +#        endif
         1730  +#      endif
         1731  +#    endif
         1732  +#  endif
         1733  +#endif
         1734  +
         1735  +/* When -fvisbility=hidden is used, assume the code has been annotated
         1736  +   correspondingly for the symbols needed.  */
         1737  +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
         1738  +int fnord () __attribute__((visibility("default")));
         1739  +#endif
         1740  +
         1741  +int fnord () { return 42; }
         1742  +int main ()
         1743  +{
         1744  +  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
         1745  +  int status = $lt_dlunknown;
         1746  +
         1747  +  if (self)
         1748  +    {
         1749  +      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
         1750  +      else
         1751  +        {
         1752  +	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
         1753  +          else puts (dlerror ());
         1754  +	}
         1755  +      /* dlclose (self); */
         1756  +    }
         1757  +  else
         1758  +    puts (dlerror ());
         1759  +
         1760  +  return status;
         1761  +}]
         1762  +_LT_EOF
         1763  +  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
         1764  +    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
         1765  +    lt_status=$?
         1766  +    case x$lt_status in
         1767  +      x$lt_dlno_uscore) $1 ;;
         1768  +      x$lt_dlneed_uscore) $2 ;;
         1769  +      x$lt_dlunknown|x*) $3 ;;
         1770  +    esac
         1771  +  else :
         1772  +    # compilation failed
         1773  +    $3
         1774  +  fi
         1775  +fi
         1776  +rm -fr conftest*
         1777  +])# _LT_TRY_DLOPEN_SELF
         1778  +
         1779  +
         1780  +# LT_SYS_DLOPEN_SELF
         1781  +# ------------------
         1782  +AC_DEFUN([LT_SYS_DLOPEN_SELF],
         1783  +[m4_require([_LT_HEADER_DLFCN])dnl
         1784  +if test "x$enable_dlopen" != xyes; then
         1785  +  enable_dlopen=unknown
         1786  +  enable_dlopen_self=unknown
         1787  +  enable_dlopen_self_static=unknown
         1788  +else
         1789  +  lt_cv_dlopen=no
         1790  +  lt_cv_dlopen_libs=
         1791  +
         1792  +  case $host_os in
         1793  +  beos*)
         1794  +    lt_cv_dlopen="load_add_on"
         1795  +    lt_cv_dlopen_libs=
         1796  +    lt_cv_dlopen_self=yes
         1797  +    ;;
         1798  +
         1799  +  mingw* | pw32* | cegcc*)
         1800  +    lt_cv_dlopen="LoadLibrary"
         1801  +    lt_cv_dlopen_libs=
         1802  +    ;;
         1803  +
         1804  +  cygwin*)
         1805  +    lt_cv_dlopen="dlopen"
         1806  +    lt_cv_dlopen_libs=
         1807  +    ;;
         1808  +
         1809  +  darwin*)
         1810  +  # if libdl is installed we need to link against it
         1811  +    AC_CHECK_LIB([dl], [dlopen],
         1812  +		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
         1813  +    lt_cv_dlopen="dyld"
         1814  +    lt_cv_dlopen_libs=
         1815  +    lt_cv_dlopen_self=yes
         1816  +    ])
         1817  +    ;;
         1818  +
         1819  +  *)
         1820  +    AC_CHECK_FUNC([shl_load],
         1821  +	  [lt_cv_dlopen="shl_load"],
         1822  +      [AC_CHECK_LIB([dld], [shl_load],
         1823  +	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
         1824  +	[AC_CHECK_FUNC([dlopen],
         1825  +	      [lt_cv_dlopen="dlopen"],
         1826  +	  [AC_CHECK_LIB([dl], [dlopen],
         1827  +		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
         1828  +	    [AC_CHECK_LIB([svld], [dlopen],
         1829  +		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
         1830  +	      [AC_CHECK_LIB([dld], [dld_link],
         1831  +		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
         1832  +	      ])
         1833  +	    ])
         1834  +	  ])
         1835  +	])
         1836  +      ])
         1837  +    ;;
         1838  +  esac
         1839  +
         1840  +  if test "x$lt_cv_dlopen" != xno; then
         1841  +    enable_dlopen=yes
         1842  +  else
         1843  +    enable_dlopen=no
         1844  +  fi
         1845  +
         1846  +  case $lt_cv_dlopen in
         1847  +  dlopen)
         1848  +    save_CPPFLAGS="$CPPFLAGS"
         1849  +    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
         1850  +
         1851  +    save_LDFLAGS="$LDFLAGS"
         1852  +    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
         1853  +
         1854  +    save_LIBS="$LIBS"
         1855  +    LIBS="$lt_cv_dlopen_libs $LIBS"
         1856  +
         1857  +    AC_CACHE_CHECK([whether a program can dlopen itself],
         1858  +	  lt_cv_dlopen_self, [dnl
         1859  +	  _LT_TRY_DLOPEN_SELF(
         1860  +	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
         1861  +	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
         1862  +    ])
         1863  +
         1864  +    if test "x$lt_cv_dlopen_self" = xyes; then
         1865  +      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
         1866  +      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
         1867  +	  lt_cv_dlopen_self_static, [dnl
         1868  +	  _LT_TRY_DLOPEN_SELF(
         1869  +	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
         1870  +	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
         1871  +      ])
         1872  +    fi
         1873  +
         1874  +    CPPFLAGS="$save_CPPFLAGS"
         1875  +    LDFLAGS="$save_LDFLAGS"
         1876  +    LIBS="$save_LIBS"
         1877  +    ;;
         1878  +  esac
         1879  +
         1880  +  case $lt_cv_dlopen_self in
         1881  +  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
         1882  +  *) enable_dlopen_self=unknown ;;
         1883  +  esac
         1884  +
         1885  +  case $lt_cv_dlopen_self_static in
         1886  +  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
         1887  +  *) enable_dlopen_self_static=unknown ;;
         1888  +  esac
         1889  +fi
         1890  +_LT_DECL([dlopen_support], [enable_dlopen], [0],
         1891  +	 [Whether dlopen is supported])
         1892  +_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
         1893  +	 [Whether dlopen of programs is supported])
         1894  +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
         1895  +	 [Whether dlopen of statically linked programs is supported])
         1896  +])# LT_SYS_DLOPEN_SELF
         1897  +
         1898  +# Old name:
         1899  +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
         1900  +dnl aclocal-1.4 backwards compatibility:
         1901  +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
         1902  +
         1903  +
         1904  +# _LT_COMPILER_C_O([TAGNAME])
         1905  +# ---------------------------
         1906  +# Check to see if options -c and -o are simultaneously supported by compiler.
         1907  +# This macro does not hard code the compiler like AC_PROG_CC_C_O.
         1908  +m4_defun([_LT_COMPILER_C_O],
         1909  +[m4_require([_LT_DECL_SED])dnl
         1910  +m4_require([_LT_FILEUTILS_DEFAULTS])dnl
         1911  +m4_require([_LT_TAG_COMPILER])dnl
         1912  +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
         1913  +  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
         1914  +  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
         1915  +   $RM -r conftest 2>/dev/null
         1916  +   mkdir conftest
         1917  +   cd conftest
         1918  +   mkdir out
         1919  +   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
         1920  +
         1921  +   lt_compiler_flag="-o out/conftest2.$ac_objext"
         1922  +   # Insert the option either (1) after the last *FLAGS variable, or
         1923  +   # (2) before a word containing "conftest.", or (3) at the end.
         1924  +   # Note that $ac_compile itself does not contain backslashes and begins
         1925  +   # with a dollar sign (not a hyphen), so the echo should work correctly.
         1926  +   lt_compile=`echo "$ac_compile" | $SED \
         1927  +   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
         1928  +   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
         1929  +   -e 's:$: $lt_compiler_flag:'`
         1930  +   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
         1931  +   (eval "$lt_compile" 2>out/conftest.err)
         1932  +   ac_status=$?
         1933  +   cat out/conftest.err >&AS_MESSAGE_LOG_FD
         1934  +   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
         1935  +   if (exit $ac_status) && test -s out/conftest2.$ac_objext
         1936  +   then
         1937  +     # The compiler can only warn and ignore the option if not recognized
         1938  +     # So say no if there are warnings
         1939  +     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
         1940  +     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
         1941  +     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
         1942  +       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
         1943  +     fi
         1944  +   fi
         1945  +   chmod u+w . 2>&AS_MESSAGE_LOG_FD
         1946  +   $RM conftest*
         1947  +   # SGI C++ compiler will create directory out/ii_files/ for
         1948  +   # template instantiation
         1949  +   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
         1950  +   $RM out/* && rmdir out
         1951  +   cd ..
         1952  +   $RM -r conftest
         1953  +   $RM conftest*
         1954  +])
         1955  +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
         1956  +	[Does compiler simultaneously support -c and -o options?])
         1957  +])# _LT_COMPILER_C_O
         1958  +
         1959  +
         1960  +# _LT_COMPILER_FILE_LOCKS([TAGNAME])
         1961  +# ----------------------------------
         1962  +# Check to see if we can do hard links to lock some files if needed
         1963  +m4_defun([_LT_COMPILER_FILE_LOCKS],
         1964  +[m4_require([_LT_ENABLE_LOCK])dnl
         1965  +m4_require([_LT_FILEUTILS_DEFAULTS])dnl
         1966  +_LT_COMPILER_C_O([$1])
         1967  +
         1968  +hard_links="nottested"
         1969  +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
         1970  +  # do not overwrite the value of need_locks provided by the user
         1971  +  AC_MSG_CHECKING([if we can lock with hard links])
         1972  +  hard_links=yes
         1973  +  $RM conftest*
         1974  +  ln conftest.a conftest.b 2>/dev/null && hard_links=no
         1975  +  touch conftest.a
         1976  +  ln conftest.a conftest.b 2>&5 || hard_links=no
         1977  +  ln conftest.a conftest.b 2>/dev/null && hard_links=no
         1978  +  AC_MSG_RESULT([$hard_links])
         1979  +  if test "$hard_links" = no; then
         1980  +    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
         1981  +    need_locks=warn
         1982  +  fi
         1983  +else
         1984  +  need_locks=no
         1985  +fi
         1986  +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
         1987  +])# _LT_COMPILER_FILE_LOCKS
         1988  +
         1989  +
         1990  +# _LT_CHECK_OBJDIR
         1991  +# ----------------
         1992  +m4_defun([_LT_CHECK_OBJDIR],
         1993  +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
         1994  +[rm -f .libs 2>/dev/null
         1995  +mkdir .libs 2>/dev/null
         1996  +if test -d .libs; then
         1997  +  lt_cv_objdir=.libs
         1998  +else
         1999  +  # MS-DOS does not allow filenames that begin with a dot.
         2000  +  lt_cv_objdir=_libs
         2001  +fi
         2002  +rmdir .libs 2>/dev/null])
         2003  +objdir=$lt_cv_objdir
         2004  +_LT_DECL([], [objdir], [0],
         2005  +         [The name of the directory that contains temporary libtool files])dnl
         2006  +m4_pattern_allow([LT_OBJDIR])dnl
         2007  +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
         2008  +  [Define to the sub-directory in which libtool stores uninstalled libraries.])
         2009  +])# _LT_CHECK_OBJDIR
         2010  +
         2011  +
         2012  +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
         2013  +# --------------------------------------
         2014  +# Check hardcoding attributes.
         2015  +m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
         2016  +[AC_MSG_CHECKING([how to hardcode library paths into programs])
         2017  +_LT_TAGVAR(hardcode_action, $1)=
         2018  +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
         2019  +   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
         2020  +   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
         2021  +
         2022  +  # We can hardcode non-existent directories.
         2023  +  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
         2024  +     # If the only mechanism to avoid hardcoding is shlibpath_var, we
         2025  +     # have to relink, otherwise we might link with an installed library
         2026  +     # when we should be linking with a yet-to-be-installed one
         2027  +     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
         2028  +     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
         2029  +    # Linking always hardcodes the temporary library directory.
         2030  +    _LT_TAGVAR(hardcode_action, $1)=relink
         2031  +  else
         2032  +    # We can link without hardcoding, and we can hardcode nonexisting dirs.
         2033  +    _LT_TAGVAR(hardcode_action, $1)=immediate
         2034  +  fi
         2035  +else
         2036  +  # We cannot hardcode anything, or else we can only hardcode existing
         2037  +  # directories.
         2038  +  _LT_TAGVAR(hardcode_action, $1)=unsupported
         2039  +fi
         2040  +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
         2041  +
         2042  +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
         2043  +   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
         2044  +  # Fast installation is not supported
         2045  +  enable_fast_install=no
         2046  +elif test "$shlibpath_overrides_runpath" = yes ||
         2047  +     test "$enable_shared" = no; then
         2048  +  # Fast installation is not necessary
         2049  +  enable_fast_install=needless
         2050  +fi
         2051  +_LT_TAGDECL([], [hardcode_action], [0],
         2052  +    [How to hardcode a shared library path into an executable])
         2053  +])# _LT_LINKER_HARDCODE_LIBPATH
         2054  +
         2055  +
         2056  +# _LT_CMD_STRIPLIB
         2057  +# ----------------
         2058  +m4_defun([_LT_CMD_STRIPLIB],
         2059  +[m4_require([_LT_DECL_EGREP])
         2060  +striplib=
         2061  +old_striplib=
         2062  +AC_MSG_CHECKING([whether stripping libraries is possible])
         2063  +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
         2064  +  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
         2065  +  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
         2066  +  AC_MSG_RESULT([yes])
         2067  +else
         2068  +# FIXME - insert some real tests, host_os isn't really good enough
         2069  +  case $host_os in
         2070  +  darwin*)
         2071  +    if test -n "$STRIP" ; then
         2072  +      striplib="$STRIP -x"
         2073  +      old_striplib="$STRIP -S"
         2074  +      AC_MSG_RESULT([yes])
         2075  +    else
         2076  +      AC_MSG_RESULT([no])
         2077  +    fi
         2078  +    ;;
         2079  +  *)
         2080  +    AC_MSG_RESULT([no])
         2081  +    ;;
         2082  +  esac
         2083  +fi
         2084  +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
         2085  +_LT_DECL([], [striplib], [1])
         2086  +])# _LT_CMD_STRIPLIB
         2087  +
         2088  +
         2089  +# _LT_SYS_DYNAMIC_LINKER([TAG])
         2090  +# -----------------------------
         2091  +# PORTME Fill in your ld.so characteristics
         2092  +m4_defun([_LT_SYS_DYNAMIC_LINKER],
         2093  +[AC_REQUIRE([AC_CANONICAL_HOST])dnl
         2094  +m4_require([_LT_DECL_EGREP])dnl
         2095  +m4_require([_LT_FILEUTILS_DEFAULTS])dnl
         2096  +m4_require([_LT_DECL_OBJDUMP])dnl
         2097  +m4_require([_LT_DECL_SED])dnl
         2098  +m4_require([_LT_CHECK_SHELL_FEATURES])dnl
         2099  +AC_MSG_CHECKING([dynamic linker characteristics])
         2100  +m4_if([$1],
         2101  +	[], [
         2102  +if test "$GCC" = yes; then
         2103  +  case $host_os in
         2104  +    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
         2105  +    *) lt_awk_arg="/^libraries:/" ;;
         2106  +  esac
         2107  +  case $host_os in
         2108  +    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
         2109  +    *) lt_sed_strip_eq="s,=/,/,g" ;;
         2110  +  esac
         2111  +  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
         2112  +  case $lt_search_path_spec in
         2113  +  *\;*)
         2114  +    # if the path contains ";" then we assume it to be the separator
         2115  +    # otherwise default to the standard path separator (i.e. ":") - it is
         2116  +    # assumed that no part of a normal pathname contains ";" but that should
         2117  +    # okay in the real world where ";" in dirpaths is itself problematic.
         2118  +    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
         2119  +    ;;
         2120  +  *)
         2121  +    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
         2122  +    ;;
         2123  +  esac
         2124  +  # Ok, now we have the path, separated by spaces, we can step through it
         2125  +  # and add multilib dir if necessary.
         2126  +  lt_tmp_lt_search_path_spec=
         2127  +  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
         2128  +  for lt_sys_path in $lt_search_path_spec; do
         2129  +    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
         2130  +      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
         2131  +    else
         2132  +      test -d "$lt_sys_path" && \
         2133  +	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
         2134  +    fi
         2135  +  done
         2136  +  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
         2137  +BEGIN {RS=" "; FS="/|\n";} {
         2138  +  lt_foo="";
         2139  +  lt_count=0;
         2140  +  for (lt_i = NF; lt_i > 0; lt_i--) {
         2141  +    if ($lt_i != "" && $lt_i != ".") {
         2142  +      if ($lt_i == "..") {
         2143  +        lt_count++;
         2144  +      } else {
         2145  +        if (lt_count == 0) {
         2146  +          lt_foo="/" $lt_i lt_foo;
         2147  +        } else {
         2148  +          lt_count--;
         2149  +        }
         2150  +      }
         2151  +    }
         2152  +  }
         2153  +  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
         2154  +  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
         2155  +}'`
         2156  +  # AWK program above erroneously prepends '/' to C:/dos/paths
         2157  +  # for these hosts.
         2158  +  case $host_os in
         2159  +    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
         2160  +      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
         2161  +  esac
         2162  +  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
         2163  +else
         2164  +  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
         2165  +fi])
         2166  +library_names_spec=
         2167  +libname_spec='lib$name'
         2168  +soname_spec=
         2169  +shrext_cmds=".so"
         2170  +postinstall_cmds=
         2171  +postuninstall_cmds=
         2172  +finish_cmds=
         2173  +finish_eval=
         2174  +shlibpath_var=
         2175  +shlibpath_overrides_runpath=unknown
         2176  +version_type=none
         2177  +dynamic_linker="$host_os ld.so"
         2178  +sys_lib_dlsearch_path_spec="/lib /usr/lib"
         2179  +need_lib_prefix=unknown
         2180  +hardcode_into_libs=no
         2181  +
         2182  +# when you set need_version to no, make sure it does not cause -set_version
         2183  +# flags to be left without arguments
         2184  +need_version=unknown
         2185  +
         2186  +case $host_os in
         2187  +aix3*)
         2188  +  version_type=linux
         2189  +  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
         2190  +  shlibpath_var=LIBPATH
         2191  +
         2192  +  # AIX 3 has no versioning support, so we append a major version to the name.
         2193  +  soname_spec='${libname}${release}${shared_ext}$major'
         2194  +  ;;
         2195  +
         2196  +aix[[4-9]]*)
         2197  +  version_type=linux
         2198  +  need_lib_prefix=no
         2199  +  need_version=no
         2200  +  hardcode_into_libs=yes
         2201  +  if test "$host_cpu" = ia64; then
         2202  +    # AIX 5 supports IA64
         2203  +    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
         2204  +    shlibpath_var=LD_LIBRARY_PATH
         2205  +  else
         2206  +    # With GCC up to 2.95.x, collect2 would create an import file
         2207  +    # for dependence libraries.  The import file would start with
         2208  +    # the line `#! .'.  This would cause the generated library to
         2209  +    # depend on `.', always an invalid library.  This was fixed in
         2210  +    # development snapshots of GCC prior to 3.0.
         2211  +    case $host_os in
         2212  +      aix4 | aix4.[[01]] | aix4.[[01]].*)
         2213  +      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
         2214  +	   echo ' yes '
         2215  +	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
         2216  +	:
         2217  +      else
         2218  +	can_build_shared=no
         2219  +      fi
         2220  +      ;;
         2221  +    esac
         2222  +    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
         2223  +    # soname into executable. Probably we can add versioning support to
         2224  +    # collect2, so additional links can be useful in future.
         2225  +    if test "$aix_use_runtimelinking" = yes; then
         2226  +      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
         2227  +      # instead of lib<name>.a to let people know that these are not
         2228  +      # typical AIX shared libraries.
         2229  +      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2230  +    else
         2231  +      # We preserve .a as extension for shared libraries through AIX4.2
         2232  +      # and later when we are not doing run time linking.
         2233  +      library_names_spec='${libname}${release}.a $libname.a'
         2234  +      soname_spec='${libname}${release}${shared_ext}$major'
         2235  +    fi
         2236  +    shlibpath_var=LIBPATH
         2237  +  fi
         2238  +  ;;
         2239  +
         2240  +amigaos*)
         2241  +  case $host_cpu in
         2242  +  powerpc)
         2243  +    # Since July 2007 AmigaOS4 officially supports .so libraries.
         2244  +    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
         2245  +    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2246  +    ;;
         2247  +  m68k)
         2248  +    library_names_spec='$libname.ixlibrary $libname.a'
         2249  +    # Create ${libname}_ixlibrary.a entries in /sys/libs.
         2250  +    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''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'
         2251  +    ;;
         2252  +  esac
         2253  +  ;;
         2254  +
         2255  +beos*)
         2256  +  library_names_spec='${libname}${shared_ext}'
         2257  +  dynamic_linker="$host_os ld.so"
         2258  +  shlibpath_var=LIBRARY_PATH
         2259  +  ;;
         2260  +
         2261  +bsdi[[45]]*)
         2262  +  version_type=linux
         2263  +  need_version=no
         2264  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2265  +  soname_spec='${libname}${release}${shared_ext}$major'
         2266  +  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
         2267  +  shlibpath_var=LD_LIBRARY_PATH
         2268  +  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
         2269  +  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
         2270  +  # the default ld.so.conf also contains /usr/contrib/lib and
         2271  +  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
         2272  +  # libtool to hard-code these into programs
         2273  +  ;;
         2274  +
         2275  +cygwin* | mingw* | pw32* | cegcc*)
         2276  +  version_type=windows
         2277  +  shrext_cmds=".dll"
         2278  +  need_version=no
         2279  +  need_lib_prefix=no
         2280  +
         2281  +  case $GCC,$cc_basename in
         2282  +  yes,*)
         2283  +    # gcc
         2284  +    library_names_spec='$libname.dll.a'
         2285  +    # DLL is installed to $(libdir)/../bin by postinstall_cmds
         2286  +    postinstall_cmds='base_file=`basename \${file}`~
         2287  +      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
         2288  +      dldir=$destdir/`dirname \$dlpath`~
         2289  +      test -d \$dldir || mkdir -p \$dldir~
         2290  +      $install_prog $dir/$dlname \$dldir/$dlname~
         2291  +      chmod a+x \$dldir/$dlname~
         2292  +      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
         2293  +        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
         2294  +      fi'
         2295  +    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
         2296  +      dlpath=$dir/\$dldll~
         2297  +       $RM \$dlpath'
         2298  +    shlibpath_overrides_runpath=yes
         2299  +
         2300  +    case $host_os in
         2301  +    cygwin*)
         2302  +      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
         2303  +      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
         2304  +m4_if([$1], [],[
         2305  +      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
         2306  +      ;;
         2307  +    mingw* | cegcc*)
         2308  +      # MinGW DLLs use traditional 'lib' prefix
         2309  +      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
         2310  +      ;;
         2311  +    pw32*)
         2312  +      # pw32 DLLs use 'pw' prefix rather than 'lib'
         2313  +      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
         2314  +      ;;
         2315  +    esac
         2316  +    dynamic_linker='Win32 ld.exe'
         2317  +    ;;
         2318  +
         2319  +  *,cl*)
         2320  +    # Native MSVC
         2321  +    libname_spec='$name'
         2322  +    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
         2323  +    library_names_spec='${libname}.dll.lib'
         2324  +
         2325  +    case $build_os in
         2326  +    mingw*)
         2327  +      sys_lib_search_path_spec=
         2328  +      lt_save_ifs=$IFS
         2329  +      IFS=';'
         2330  +      for lt_path in $LIB
         2331  +      do
         2332  +        IFS=$lt_save_ifs
         2333  +        # Let DOS variable expansion print the short 8.3 style file name.
         2334  +        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
         2335  +        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
         2336  +      done
         2337  +      IFS=$lt_save_ifs
         2338  +      # Convert to MSYS style.
         2339  +      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
         2340  +      ;;
         2341  +    cygwin*)
         2342  +      # Convert to unix form, then to dos form, then back to unix form
         2343  +      # but this time dos style (no spaces!) so that the unix form looks
         2344  +      # like /cygdrive/c/PROGRA~1:/cygdr...
         2345  +      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
         2346  +      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
         2347  +      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
         2348  +      ;;
         2349  +    *)
         2350  +      sys_lib_search_path_spec="$LIB"
         2351  +      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
         2352  +        # It is most probably a Windows format PATH.
         2353  +        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
         2354  +      else
         2355  +        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
         2356  +      fi
         2357  +      # FIXME: find the short name or the path components, as spaces are
         2358  +      # common. (e.g. "Program Files" -> "PROGRA~1")
         2359  +      ;;
         2360  +    esac
         2361  +
         2362  +    # DLL is installed to $(libdir)/../bin by postinstall_cmds
         2363  +    postinstall_cmds='base_file=`basename \${file}`~
         2364  +      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
         2365  +      dldir=$destdir/`dirname \$dlpath`~
         2366  +      test -d \$dldir || mkdir -p \$dldir~
         2367  +      $install_prog $dir/$dlname \$dldir/$dlname'
         2368  +    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
         2369  +      dlpath=$dir/\$dldll~
         2370  +       $RM \$dlpath'
         2371  +    shlibpath_overrides_runpath=yes
         2372  +    dynamic_linker='Win32 link.exe'
         2373  +    ;;
         2374  +
         2375  +  *)
         2376  +    # Assume MSVC wrapper
         2377  +    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
         2378  +    dynamic_linker='Win32 ld.exe'
         2379  +    ;;
         2380  +  esac
         2381  +  # FIXME: first we should search . and the directory the executable is in
         2382  +  shlibpath_var=PATH
         2383  +  ;;
         2384  +
         2385  +darwin* | rhapsody*)
         2386  +  dynamic_linker="$host_os dyld"
         2387  +  version_type=darwin
         2388  +  need_lib_prefix=no
         2389  +  need_version=no
         2390  +  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
         2391  +  soname_spec='${libname}${release}${major}$shared_ext'
         2392  +  shlibpath_overrides_runpath=yes
         2393  +  shlibpath_var=DYLD_LIBRARY_PATH
         2394  +  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
         2395  +m4_if([$1], [],[
         2396  +  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
         2397  +  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
         2398  +  ;;
         2399  +
         2400  +dgux*)
         2401  +  version_type=linux
         2402  +  need_lib_prefix=no
         2403  +  need_version=no
         2404  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
         2405  +  soname_spec='${libname}${release}${shared_ext}$major'
         2406  +  shlibpath_var=LD_LIBRARY_PATH
         2407  +  ;;
         2408  +
         2409  +freebsd1*)
         2410  +  dynamic_linker=no
         2411  +  ;;
         2412  +
         2413  +freebsd* | dragonfly*)
         2414  +  # DragonFly does not have aout.  When/if they implement a new
         2415  +  # versioning mechanism, adjust this.
         2416  +  if test -x /usr/bin/objformat; then
         2417  +    objformat=`/usr/bin/objformat`
         2418  +  else
         2419  +    case $host_os in
         2420  +    freebsd[[123]]*) objformat=aout ;;
         2421  +    *) objformat=elf ;;
         2422  +    esac
         2423  +  fi
         2424  +  version_type=freebsd-$objformat
         2425  +  case $version_type in
         2426  +    freebsd-elf*)
         2427  +      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
         2428  +      need_version=no
         2429  +      need_lib_prefix=no
         2430  +      ;;
         2431  +    freebsd-*)
         2432  +      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
         2433  +      need_version=yes
         2434  +      ;;
         2435  +  esac
         2436  +  shlibpath_var=LD_LIBRARY_PATH
         2437  +  case $host_os in
         2438  +  freebsd2*)
         2439  +    shlibpath_overrides_runpath=yes
         2440  +    ;;
         2441  +  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
         2442  +    shlibpath_overrides_runpath=yes
         2443  +    hardcode_into_libs=yes
         2444  +    ;;
         2445  +  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
         2446  +  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
         2447  +    shlibpath_overrides_runpath=no
         2448  +    hardcode_into_libs=yes
         2449  +    ;;
         2450  +  *) # from 4.6 on, and DragonFly
         2451  +    shlibpath_overrides_runpath=yes
         2452  +    hardcode_into_libs=yes
         2453  +    ;;
         2454  +  esac
         2455  +  ;;
         2456  +
         2457  +gnu*)
         2458  +  version_type=linux
         2459  +  need_lib_prefix=no
         2460  +  need_version=no
         2461  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
         2462  +  soname_spec='${libname}${release}${shared_ext}$major'
         2463  +  shlibpath_var=LD_LIBRARY_PATH
         2464  +  hardcode_into_libs=yes
         2465  +  ;;
         2466  +
         2467  +haiku*)
         2468  +  version_type=linux
         2469  +  need_lib_prefix=no
         2470  +  need_version=no
         2471  +  dynamic_linker="$host_os runtime_loader"
         2472  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
         2473  +  soname_spec='${libname}${release}${shared_ext}$major'
         2474  +  shlibpath_var=LIBRARY_PATH
         2475  +  shlibpath_overrides_runpath=yes
         2476  +  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
         2477  +  hardcode_into_libs=yes
         2478  +  ;;
         2479  +
         2480  +hpux9* | hpux10* | hpux11*)
         2481  +  # Give a soname corresponding to the major version so that dld.sl refuses to
         2482  +  # link against other versions.
         2483  +  version_type=sunos
         2484  +  need_lib_prefix=no
         2485  +  need_version=no
         2486  +  case $host_cpu in
         2487  +  ia64*)
         2488  +    shrext_cmds='.so'
         2489  +    hardcode_into_libs=yes
         2490  +    dynamic_linker="$host_os dld.so"
         2491  +    shlibpath_var=LD_LIBRARY_PATH
         2492  +    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
         2493  +    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2494  +    soname_spec='${libname}${release}${shared_ext}$major'
         2495  +    if test "X$HPUX_IA64_MODE" = X32; then
         2496  +      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
         2497  +    else
         2498  +      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
         2499  +    fi
         2500  +    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
         2501  +    ;;
         2502  +  hppa*64*)
         2503  +    shrext_cmds='.sl'
         2504  +    hardcode_into_libs=yes
         2505  +    dynamic_linker="$host_os dld.sl"
         2506  +    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
         2507  +    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
         2508  +    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2509  +    soname_spec='${libname}${release}${shared_ext}$major'
         2510  +    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
         2511  +    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
         2512  +    ;;
         2513  +  *)
         2514  +    shrext_cmds='.sl'
         2515  +    dynamic_linker="$host_os dld.sl"
         2516  +    shlibpath_var=SHLIB_PATH
         2517  +    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
         2518  +    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2519  +    soname_spec='${libname}${release}${shared_ext}$major'
         2520  +    ;;
         2521  +  esac
         2522  +  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
         2523  +  postinstall_cmds='chmod 555 $lib'
         2524  +  # or fails outright, so override atomically:
         2525  +  install_override_mode=555
         2526  +  ;;
         2527  +
         2528  +interix[[3-9]]*)
         2529  +  version_type=linux
         2530  +  need_lib_prefix=no
         2531  +  need_version=no
         2532  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
         2533  +  soname_spec='${libname}${release}${shared_ext}$major'
         2534  +  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
         2535  +  shlibpath_var=LD_LIBRARY_PATH
         2536  +  shlibpath_overrides_runpath=no
         2537  +  hardcode_into_libs=yes
         2538  +  ;;
         2539  +
         2540  +irix5* | irix6* | nonstopux*)
         2541  +  case $host_os in
         2542  +    nonstopux*) version_type=nonstopux ;;
         2543  +    *)
         2544  +	if test "$lt_cv_prog_gnu_ld" = yes; then
         2545  +		version_type=linux
         2546  +	else
         2547  +		version_type=irix
         2548  +	fi ;;
         2549  +  esac
         2550  +  need_lib_prefix=no
         2551  +  need_version=no
         2552  +  soname_spec='${libname}${release}${shared_ext}$major'
         2553  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
         2554  +  case $host_os in
         2555  +  irix5* | nonstopux*)
         2556  +    libsuff= shlibsuff=
         2557  +    ;;
         2558  +  *)
         2559  +    case $LD in # libtool.m4 will add one of these switches to LD
         2560  +    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
         2561  +      libsuff= shlibsuff= libmagic=32-bit;;
         2562  +    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
         2563  +      libsuff=32 shlibsuff=N32 libmagic=N32;;
         2564  +    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
         2565  +      libsuff=64 shlibsuff=64 libmagic=64-bit;;
         2566  +    *) libsuff= shlibsuff= libmagic=never-match;;
         2567  +    esac
         2568  +    ;;
         2569  +  esac
         2570  +  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
         2571  +  shlibpath_overrides_runpath=no
         2572  +  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
         2573  +  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
         2574  +  hardcode_into_libs=yes
         2575  +  ;;
         2576  +
         2577  +# No shared lib support for Linux oldld, aout, or coff.
         2578  +linux*oldld* | linux*aout* | linux*coff*)
         2579  +  dynamic_linker=no
         2580  +  ;;
         2581  +
         2582  +# This must be Linux ELF.
         2583  +linux* | k*bsd*-gnu | kopensolaris*-gnu)
         2584  +  version_type=linux
         2585  +  need_lib_prefix=no
         2586  +  need_version=no
         2587  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2588  +  soname_spec='${libname}${release}${shared_ext}$major'
         2589  +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
         2590  +  shlibpath_var=LD_LIBRARY_PATH
         2591  +  shlibpath_overrides_runpath=no
         2592  +
         2593  +  # Some binutils ld are patched to set DT_RUNPATH
         2594  +  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
         2595  +    [lt_cv_shlibpath_overrides_runpath=no
         2596  +    save_LDFLAGS=$LDFLAGS
         2597  +    save_libdir=$libdir
         2598  +    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
         2599  +	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
         2600  +    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
         2601  +      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
         2602  +	 [lt_cv_shlibpath_overrides_runpath=yes])])
         2603  +    LDFLAGS=$save_LDFLAGS
         2604  +    libdir=$save_libdir
         2605  +    ])
         2606  +  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
         2607  +
         2608  +  # This implies no fast_install, which is unacceptable.
         2609  +  # Some rework will be needed to allow for fast_install
         2610  +  # before this can be enabled.
         2611  +  hardcode_into_libs=yes
         2612  +
         2613  +  # Add ABI-specific directories to the system library path.
         2614  +  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
         2615  +
         2616  +  # Append ld.so.conf contents to the search path
         2617  +  if test -f /etc/ld.so.conf; then
         2618  +    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;s/"//g;/^$/d' | tr '\n' ' '`
         2619  +    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
         2620  +
         2621  +  fi
         2622  +
         2623  +  # We used to test for /lib/ld.so.1 and disable shared libraries on
         2624  +  # powerpc, because MkLinux only supported shared libraries with the
         2625  +  # GNU dynamic linker.  Since this was broken with cross compilers,
         2626  +  # most powerpc-linux boxes support dynamic linking these days and
         2627  +  # people can always --disable-shared, the test was removed, and we
         2628  +  # assume the GNU/Linux dynamic linker is in use.
         2629  +  dynamic_linker='GNU/Linux ld.so'
         2630  +  ;;
         2631  +
         2632  +netbsd*)
         2633  +  version_type=sunos
         2634  +  need_lib_prefix=no
         2635  +  need_version=no
         2636  +  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
         2637  +    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
         2638  +    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
         2639  +    dynamic_linker='NetBSD (a.out) ld.so'
         2640  +  else
         2641  +    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
         2642  +    soname_spec='${libname}${release}${shared_ext}$major'
         2643  +    dynamic_linker='NetBSD ld.elf_so'
         2644  +  fi
         2645  +  shlibpath_var=LD_LIBRARY_PATH
         2646  +  shlibpath_overrides_runpath=yes
         2647  +  hardcode_into_libs=yes
         2648  +  ;;
         2649  +
         2650  +newsos6)
         2651  +  version_type=linux
         2652  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2653  +  shlibpath_var=LD_LIBRARY_PATH
         2654  +  shlibpath_overrides_runpath=yes
         2655  +  ;;
         2656  +
         2657  +*nto* | *qnx*)
         2658  +  version_type=qnx
         2659  +  need_lib_prefix=no
         2660  +  need_version=no
         2661  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2662  +  soname_spec='${libname}${release}${shared_ext}$major'
         2663  +  shlibpath_var=LD_LIBRARY_PATH
         2664  +  shlibpath_overrides_runpath=no
         2665  +  hardcode_into_libs=yes
         2666  +  dynamic_linker='ldqnx.so'
         2667  +  ;;
         2668  +
         2669  +openbsd*)
         2670  +  version_type=sunos
         2671  +  sys_lib_dlsearch_path_spec="/usr/lib"
         2672  +  need_lib_prefix=no
         2673  +  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
         2674  +  case $host_os in
         2675  +    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
         2676  +    *)				need_version=no  ;;
         2677  +  esac
         2678  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
         2679  +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
         2680  +  shlibpath_var=LD_LIBRARY_PATH
         2681  +  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
         2682  +    case $host_os in
         2683  +      openbsd2.[[89]] | openbsd2.[[89]].*)
         2684  +	shlibpath_overrides_runpath=no
         2685  +	;;
         2686  +      *)
         2687  +	shlibpath_overrides_runpath=yes
         2688  +	;;
         2689  +      esac
         2690  +  else
         2691  +    shlibpath_overrides_runpath=yes
         2692  +  fi
         2693  +  ;;
         2694  +
         2695  +os2*)
         2696  +  libname_spec='$name'
         2697  +  shrext_cmds=".dll"
         2698  +  need_lib_prefix=no
         2699  +  library_names_spec='$libname${shared_ext} $libname.a'
         2700  +  dynamic_linker='OS/2 ld.exe'
         2701  +  shlibpath_var=LIBPATH
         2702  +  ;;
         2703  +
         2704  +osf3* | osf4* | osf5*)
         2705  +  version_type=osf
         2706  +  need_lib_prefix=no
         2707  +  need_version=no
         2708  +  soname_spec='${libname}${release}${shared_ext}$major'
         2709  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2710  +  shlibpath_var=LD_LIBRARY_PATH
         2711  +  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
         2712  +  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
         2713  +  ;;
         2714  +
         2715  +rdos*)
         2716  +  dynamic_linker=no
         2717  +  ;;
         2718  +
         2719  +solaris*)
         2720  +  version_type=linux
         2721  +  need_lib_prefix=no
         2722  +  need_version=no
         2723  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2724  +  soname_spec='${libname}${release}${shared_ext}$major'
         2725  +  shlibpath_var=LD_LIBRARY_PATH
         2726  +  shlibpath_overrides_runpath=yes
         2727  +  hardcode_into_libs=yes
         2728  +  # ldd complains unless libraries are executable
         2729  +  postinstall_cmds='chmod +x $lib'
         2730  +  ;;
         2731  +
         2732  +sunos4*)
         2733  +  version_type=sunos
         2734  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
         2735  +  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
         2736  +  shlibpath_var=LD_LIBRARY_PATH
         2737  +  shlibpath_overrides_runpath=yes
         2738  +  if test "$with_gnu_ld" = yes; then
         2739  +    need_lib_prefix=no
         2740  +  fi
         2741  +  need_version=yes
         2742  +  ;;
         2743  +
         2744  +sysv4 | sysv4.3*)
         2745  +  version_type=linux
         2746  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2747  +  soname_spec='${libname}${release}${shared_ext}$major'
         2748  +  shlibpath_var=LD_LIBRARY_PATH
         2749  +  case $host_vendor in
         2750  +    sni)
         2751  +      shlibpath_overrides_runpath=no
         2752  +      need_lib_prefix=no
         2753  +      runpath_var=LD_RUN_PATH
         2754  +      ;;
         2755  +    siemens)
         2756  +      need_lib_prefix=no
         2757  +      ;;
         2758  +    motorola)
         2759  +      need_lib_prefix=no
         2760  +      need_version=no
         2761  +      shlibpath_overrides_runpath=no
         2762  +      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
         2763  +      ;;
         2764  +  esac
         2765  +  ;;
         2766  +
         2767  +sysv4*MP*)
         2768  +  if test -d /usr/nec ;then
         2769  +    version_type=linux
         2770  +    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
         2771  +    soname_spec='$libname${shared_ext}.$major'
         2772  +    shlibpath_var=LD_LIBRARY_PATH
         2773  +  fi
         2774  +  ;;
         2775  +
         2776  +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
         2777  +  version_type=freebsd-elf
         2778  +  need_lib_prefix=no
         2779  +  need_version=no
         2780  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
         2781  +  soname_spec='${libname}${release}${shared_ext}$major'
         2782  +  shlibpath_var=LD_LIBRARY_PATH
         2783  +  shlibpath_overrides_runpath=yes
         2784  +  hardcode_into_libs=yes
         2785  +  if test "$with_gnu_ld" = yes; then
         2786  +    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
         2787  +  else
         2788  +    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
         2789  +    case $host_os in
         2790  +      sco3.2v5*)
         2791  +        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
         2792  +	;;
         2793  +    esac
         2794  +  fi
         2795  +  sys_lib_dlsearch_path_spec='/usr/lib'
         2796  +  ;;
         2797  +
         2798  +tpf*)
         2799  +  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
         2800  +  version_type=linux
         2801  +  need_lib_prefix=no
         2802  +  need_version=no
         2803  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2804  +  shlibpath_var=LD_LIBRARY_PATH
         2805  +  shlibpath_overrides_runpath=no
         2806  +  hardcode_into_libs=yes
         2807  +  ;;
         2808  +
         2809  +uts4*)
         2810  +  version_type=linux
         2811  +  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
         2812  +  soname_spec='${libname}${release}${shared_ext}$major'
         2813  +  shlibpath_var=LD_LIBRARY_PATH
         2814  +  ;;
         2815  +
         2816  +*)
         2817  +  dynamic_linker=no
         2818  +  ;;
         2819  +esac
         2820  +AC_MSG_RESULT([$dynamic_linker])
         2821  +test "$dynamic_linker" = no && can_build_shared=no
         2822  +
         2823  +variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
         2824  +if test "$GCC" = yes; then
         2825  +  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
         2826  +fi
         2827  +
         2828  +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
         2829  +  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
         2830  +fi
         2831  +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
         2832  +  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
         2833  +fi
         2834  +
         2835  +_LT_DECL([], [variables_saved_for_relink], [1],
         2836  +    [Variables whose values should be saved in libtool wrapper scripts and
         2837  +    restored at link time])
         2838  +_LT_DECL([], [need_lib_prefix], [0],
         2839  +    [Do we need the "lib" prefix for modules?])
         2840  +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
         2841  +_LT_DECL([], [version_type], [0], [Library versioning type])
         2842  +_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
         2843  +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
         2844  +_LT_DECL([], [shlibpath_overrides_runpath], [0],
         2845  +    [Is shlibpath searched before the hard-coded library search path?])
         2846  +_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
         2847  +_LT_DECL([], [library_names_spec], [1],
         2848  +    [[List of archive names.  First name is the real one, the rest are links.
         2849  +    The last name is the one that the linker finds with -lNAME]])
         2850  +_LT_DECL([], [soname_spec], [1],
         2851  +    [[The coded name of the library, if different from the real name]])
         2852  +_LT_DECL([], [install_override_mode], [1],
         2853  +    [Permission mode override for installation of shared libraries])
         2854  +_LT_DECL([], [postinstall_cmds], [2],
         2855  +    [Command to use after installation of a shared archive])
         2856  +_LT_DECL([], [postuninstall_cmds], [2],
         2857  +    [Command to use after uninstallation of a shared archive])
         2858  +_LT_DECL([], [finish_cmds], [2],
         2859  +    [Commands used to finish a libtool library installation in a directory])
         2860  +_LT_DECL([], [finish_eval], [1],
         2861  +    [[As "finish_cmds", except a single script fragment to be evaled but
         2862  +    not shown]])
         2863  +_LT_DECL([], [hardcode_into_libs], [0],
         2864  +    [Whether we should hardcode library paths into libraries])
         2865  +_LT_DECL([], [sys_lib_search_path_spec], [2],
         2866  +    [Compile-time system search path for libraries])
         2867  +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
         2868  +    [Run-time system search path for libraries])
         2869  +])# _LT_SYS_DYNAMIC_LINKER
         2870  +
         2871  +
         2872  +# _LT_PATH_TOOL_PREFIX(TOOL)
         2873  +# --------------------------
         2874  +# find a file program which can recognize shared library
         2875  +AC_DEFUN([_LT_PATH_TOOL_PREFIX],
         2876  +[m4_require([_LT_DECL_EGREP])dnl
         2877  +AC_MSG_CHECKING([for $1])
         2878  +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
         2879  +[case $MAGIC_CMD in
         2880  +[[\\/*] |  ?:[\\/]*])
         2881  +  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
         2882  +  ;;
         2883  +*)
         2884  +  lt_save_MAGIC_CMD="$MAGIC_CMD"
         2885  +  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
         2886  +dnl $ac_dummy forces splitting on constant user-supplied paths.
         2887  +dnl POSIX.2 word splitting is done only on the output of word expansions,
         2888  +dnl not every word.  This closes a longstanding sh security hole.
         2889  +  ac_dummy="m4_if([$2], , $PATH, [$2])"
         2890  +  for ac_dir in $ac_dummy; do
         2891  +    IFS="$lt_save_ifs"
         2892  +    test -z "$ac_dir" && ac_dir=.
         2893  +    if test -f $ac_dir/$1; then
         2894  +      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
         2895  +      if test -n "$file_magic_test_file"; then
         2896  +	case $deplibs_check_method in
         2897  +	"file_magic "*)
         2898  +	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
         2899  +	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
         2900  +	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
         2901  +	    $EGREP "$file_magic_regex" > /dev/null; then
         2902  +	    :
         2903  +	  else
         2904  +	    cat <<_LT_EOF 1>&2
         2905  +
         2906  +*** Warning: the command libtool uses to detect shared libraries,
         2907  +*** $file_magic_cmd, produces output that libtool cannot recognize.
         2908  +*** The result is that libtool may fail to recognize shared libraries
         2909  +*** as such.  This will affect the creation of libtool libraries that
         2910  +*** depend on shared libraries, but programs linked with such libtool
         2911  +*** libraries will work regardless of this problem.  Nevertheless, you
         2912  +*** may want to report the problem to your system manager and/or to
         2913  +*** bug-libtool@gnu.org
         2914  +
         2915  +_LT_EOF
         2916  +	  fi ;;
         2917  +	esac
         2918  +      fi
         2919  +      break
         2920  +    fi
         2921  +  done
         2922  +  IFS="$lt_save_ifs"
         2923  +  MAGIC_CMD="$lt_save_MAGIC_CMD"
         2924  +  ;;
         2925  +esac])
         2926  +MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
         2927  +if test -n "$MAGIC_CMD"; then
         2928  +  AC_MSG_RESULT($MAGIC_CMD)
         2929  +else
         2930  +  AC_MSG_RESULT(no)
         2931  +fi
         2932  +_LT_DECL([], [MAGIC_CMD], [0],
         2933  +	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
         2934  +])# _LT_PATH_TOOL_PREFIX
         2935  +
         2936  +# Old name:
         2937  +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
         2938  +dnl aclocal-1.4 backwards compatibility:
         2939  +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
         2940  +
         2941  +
         2942  +# _LT_PATH_MAGIC
         2943  +# --------------
         2944  +# find a file program which can recognize a shared library
         2945  +m4_defun([_LT_PATH_MAGIC],
         2946  +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
         2947  +if test -z "$lt_cv_path_MAGIC_CMD"; then
         2948  +  if test -n "$ac_tool_prefix"; then
         2949  +    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
         2950  +  else
         2951  +    MAGIC_CMD=:
         2952  +  fi
         2953  +fi
         2954  +])# _LT_PATH_MAGIC
         2955  +
         2956  +
         2957  +# LT_PATH_LD
         2958  +# ----------
         2959  +# find the pathname to the GNU or non-GNU linker
         2960  +AC_DEFUN([LT_PATH_LD],
         2961  +[AC_REQUIRE([AC_PROG_CC])dnl
         2962  +AC_REQUIRE([AC_CANONICAL_HOST])dnl
         2963  +AC_REQUIRE([AC_CANONICAL_BUILD])dnl
         2964  +m4_require([_LT_DECL_SED])dnl
         2965  +m4_require([_LT_DECL_EGREP])dnl
         2966  +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
         2967  +
         2968  +AC_ARG_WITH([gnu-ld],
         2969  +    [AS_HELP_STRING([--with-gnu-ld],
         2970  +	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
         2971  +    [test "$withval" = no || with_gnu_ld=yes],
         2972  +    [with_gnu_ld=no])dnl
         2973  +
         2974  +ac_prog=ld
         2975  +if test "$GCC" = yes; then
         2976  +  # Check if gcc -print-prog-name=ld gives a path.
         2977  +  AC_MSG_CHECKING([for ld used by $CC])
         2978  +  case $host in
         2979  +  *-*-mingw*)
         2980  +    # gcc leaves a trailing carriage return which upsets mingw
         2981  +    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
         2982  +  *)
         2983  +    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
         2984  +  esac
         2985  +  case $ac_prog in
         2986  +    # Accept absolute paths.
         2987  +    [[\\/]]* | ?:[[\\/]]*)
         2988  +      re_direlt='/[[^/]][[^/]]*/\.\./'
         2989  +      # Canonicalize the pathname of ld
         2990  +      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
         2991  +      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
         2992  +	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
         2993  +      done
         2994  +      test -z "$LD" && LD="$ac_prog"
         2995  +      ;;
         2996  +  "")
         2997  +    # If it fails, then pretend we aren't using GCC.
         2998  +    ac_prog=ld
         2999  +    ;;
         3000  +  *)
         3001  +    # If it is relative, then search for the first ld in PATH.
         3002  +    with_gnu_ld=unknown
         3003  +    ;;
         3004  +  esac
         3005  +elif test "$with_gnu_ld" = yes; then
         3006  +  AC_MSG_CHECKING([for GNU ld])
         3007  +else
         3008  +  AC_MSG_CHECKING([for non-GNU ld])
         3009  +fi
         3010  +AC_CACHE_VAL(lt_cv_path_LD,
         3011  +[if test -z "$LD"; then
         3012  +  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
         3013  +  for ac_dir in $PATH; do
         3014  +    IFS="$lt_save_ifs"
         3015  +    test -z "$ac_dir" && ac_dir=.
         3016  +    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
         3017  +      lt_cv_path_LD="$ac_dir/$ac_prog"
         3018  +      # Check to see if the program is GNU ld.  I'd rather use --version,
         3019  +      # but apparently some variants of GNU ld only accept -v.
         3020  +      # Break only if it was the GNU/non-GNU ld that we prefer.
         3021  +      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
         3022  +      *GNU* | *'with BFD'*)
         3023  +	test "$with_gnu_ld" != no && break
         3024  +	;;
         3025  +      *)
         3026  +	test "$with_gnu_ld" != yes && break
         3027  +	;;
         3028  +      esac
         3029  +    fi
         3030  +  done
         3031  +  IFS="$lt_save_ifs"
         3032  +else
         3033  +  lt_cv_path_LD="$LD" # Let the user override the test with a path.
         3034  +fi])
         3035  +LD="$lt_cv_path_LD"
         3036  +if test -n "$LD"; then
         3037  +  AC_MSG_RESULT($LD)
         3038  +else
         3039  +  AC_MSG_RESULT(no)
         3040  +fi
         3041  +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
         3042  +_LT_PATH_LD_GNU
         3043  +AC_SUBST([LD])
         3044  +
         3045  +_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
         3046  +])# LT_PATH_LD
         3047  +
         3048  +# Old names:
         3049  +AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
         3050  +AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
         3051  +dnl aclocal-1.4 backwards compatibility:
         3052  +dnl AC_DEFUN([AM_PROG_LD], [])
         3053  +dnl AC_DEFUN([AC_PROG_LD], [])
         3054  +
         3055  +
         3056  +# _LT_PATH_LD_GNU
         3057  +#- --------------
         3058  +m4_defun([_LT_PATH_LD_GNU],
         3059  +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
         3060  +[# I'd rather use --version here, but apparently some GNU lds only accept -v.
         3061  +case `$LD -v 2>&1 </dev/null` in
         3062  +*GNU* | *'with BFD'*)
         3063  +  lt_cv_prog_gnu_ld=yes
         3064  +  ;;
         3065  +*)
         3066  +  lt_cv_prog_gnu_ld=no
         3067  +  ;;
         3068  +esac])
         3069  +with_gnu_ld=$lt_cv_prog_gnu_ld
         3070  +])# _LT_PATH_LD_GNU
         3071  +
         3072  +
         3073  +# _LT_CMD_RELOAD
         3074  +# --------------
         3075  +# find reload flag for linker
         3076  +#   -- PORTME Some linkers may need a different reload flag.
         3077  +m4_defun([_LT_CMD_RELOAD],
         3078  +[AC_CACHE_CHECK([for $LD option to reload object files],
         3079  +  lt_cv_ld_reload_flag,
         3080  +  [lt_cv_ld_reload_flag='-r'])
         3081  +reload_flag=$lt_cv_ld_reload_flag
         3082  +case $reload_flag in
         3083  +"" | " "*) ;;
         3084  +*) reload_flag=" $reload_flag" ;;
         3085  +esac
         3086  +reload_cmds='$LD$reload_flag -o $output$reload_objs'
         3087  +case $host_os in
         3088  +  cygwin* | mingw* | pw32* | cegcc*)
         3089  +    if test "$GCC" != yes; then
         3090  +      reload_cmds=false
         3091  +    fi
         3092  +    ;;
         3093  +  darwin*)
         3094  +    if test "$GCC" = yes; then
         3095  +      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
         3096  +    else
         3097  +      reload_cmds='$LD$reload_flag -o $output$reload_objs'
         3098  +    fi
         3099  +    ;;
         3100  +esac
         3101  +_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
         3102  +_LT_TAGDECL([], [reload_cmds], [2])dnl
         3103  +])# _LT_CMD_RELOAD
         3104  +
         3105  +
         3106  +# _LT_CHECK_MAGIC_METHOD
         3107  +# ----------------------
         3108  +# how to check for library dependencies
         3109  +#  -- PORTME fill in with the dynamic library characteristics
         3110  +m4_defun([_LT_CHECK_MAGIC_METHOD],
         3111  +[m4_require([_LT_DECL_EGREP])
         3112  +m4_require([_LT_DECL_OBJDUMP])
         3113  +AC_CACHE_CHECK([how to recognize dependent libraries],
         3114  +lt_cv_deplibs_check_method,
         3115  +[lt_cv_file_magic_cmd='$MAGIC_CMD'
         3116  +lt_cv_file_magic_test_file=
         3117  +lt_cv_deplibs_check_method='unknown'
         3118  +# Need to set the preceding variable on all platforms that support
         3119  +# interlibrary dependencies.
         3120  +# 'none' -- dependencies not supported.
         3121  +# `unknown' -- same as none, but documents that we really don't know.
         3122  +# 'pass_all' -- all dependencies passed with no checks.
         3123  +# 'test_compile' -- check by making test program.
         3124  +# 'file_magic [[regex]]' -- check by looking for files in library path
         3125  +# which responds to the $file_magic_cmd with a given extended regex.
         3126  +# If you have `file' or equivalent on your system and you're not sure
         3127  +# whether `pass_all' will *always* work, you probably want this one.
         3128  +
         3129  +case $host_os in
         3130  +aix[[4-9]]*)
         3131  +  lt_cv_deplibs_check_method=pass_all
         3132  +  ;;
         3133  +
         3134  +beos*)
         3135  +  lt_cv_deplibs_check_method=pass_all
         3136  +  ;;
         3137  +
         3138  +bsdi[[45]]*)
         3139  +  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
         3140  +  lt_cv_file_magic_cmd='/usr/bin/file -L'
         3141  +  lt_cv_file_magic_test_file=/shlib/libc.so
         3142  +  ;;
         3143  +
         3144  +cygwin*)
         3145  +  # func_win32_libid is a shell function defined in ltmain.sh
         3146  +  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
         3147  +  lt_cv_file_magic_cmd='func_win32_libid'
         3148  +  ;;
         3149  +
         3150  +mingw* | pw32*)
         3151  +  # Base MSYS/MinGW do not provide the 'file' command needed by
         3152  +  # func_win32_libid shell function, so use a weaker test based on 'objdump',
         3153  +  # unless we find 'file', for example because we are cross-compiling.
         3154  +  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
         3155  +  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
         3156  +    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
         3157  +    lt_cv_file_magic_cmd='func_win32_libid'
         3158  +  else
         3159  +    # Keep this pattern in sync with the one in func_win32_libid.
         3160  +    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
         3161  +    lt_cv_file_magic_cmd='$OBJDUMP -f'
         3162  +  fi
         3163  +  ;;
         3164  +
         3165  +cegcc*)
         3166  +  # use the weaker test based on 'objdump'. See mingw*.
         3167  +  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
         3168  +  lt_cv_file_magic_cmd='$OBJDUMP -f'
         3169  +  ;;
         3170  +
         3171  +darwin* | rhapsody*)
         3172  +  lt_cv_deplibs_check_method=pass_all
         3173  +  ;;
         3174  +
         3175  +freebsd* | dragonfly*)
         3176  +  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
         3177  +    case $host_cpu in
         3178  +    i*86 )
         3179  +      # Not sure whether the presence of OpenBSD here was a mistake.
         3180  +      # Let's accept both of them until this is cleared up.
         3181  +      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
         3182  +      lt_cv_file_magic_cmd=/usr/bin/file
         3183  +      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
         3184  +      ;;
         3185  +    esac
         3186  +  else
         3187  +    lt_cv_deplibs_check_method=pass_all
         3188  +  fi
         3189  +  ;;
         3190  +
         3191  +gnu*)
         3192  +  lt_cv_deplibs_check_method=pass_all
         3193  +  ;;
         3194  +
         3195  +haiku*)
         3196  +  lt_cv_deplibs_check_method=pass_all
         3197  +  ;;
         3198  +
         3199  +hpux10.20* | hpux11*)
         3200  +  lt_cv_file_magic_cmd=/usr/bin/file
         3201  +  case $host_cpu in
         3202  +  ia64*)
         3203  +    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
         3204  +    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
         3205  +    ;;
         3206  +  hppa*64*)
         3207  +    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
         3208  +    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
         3209  +    ;;
         3210  +  *)
         3211  +    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
         3212  +    lt_cv_file_magic_test_file=/usr/lib/libc.sl
         3213  +    ;;
         3214  +  esac
         3215  +  ;;
         3216  +
         3217  +interix[[3-9]]*)
         3218  +  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
         3219  +  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
         3220  +  ;;
         3221  +
         3222  +irix5* | irix6* | nonstopux*)
         3223  +  case $LD in
         3224  +  *-32|*"-32 ") libmagic=32-bit;;
         3225  +  *-n32|*"-n32 ") libmagic=N32;;
         3226  +  *-64|*"-64 ") libmagic=64-bit;;
         3227  +  *) libmagic=never-match;;
         3228  +  esac
         3229  +  lt_cv_deplibs_check_method=pass_all
         3230  +  ;;
         3231  +
         3232  +# This must be Linux ELF.
         3233  +linux* | k*bsd*-gnu | kopensolaris*-gnu)
         3234  +  lt_cv_deplibs_check_method=pass_all
         3235  +  ;;
         3236  +
         3237  +netbsd*)
         3238  +  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
         3239  +    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
         3240  +  else
         3241  +    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
         3242  +  fi
         3243  +  ;;
         3244  +
         3245  +newos6*)
         3246  +  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
         3247  +  lt_cv_file_magic_cmd=/usr/bin/file
         3248  +  lt_cv_file_magic_test_file=/usr/lib/libnls.so
         3249  +  ;;
         3250  +
         3251  +*nto* | *qnx*)
         3252  +  lt_cv_deplibs_check_method=pass_all
         3253  +  ;;
         3254  +
         3255  +openbsd*)
         3256  +  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
         3257  +    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
         3258  +  else
         3259  +    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
         3260  +  fi
         3261  +  ;;
         3262  +
         3263  +osf3* | osf4* | osf5*)
         3264  +  lt_cv_deplibs_check_method=pass_all
         3265  +  ;;
         3266  +
         3267  +rdos*)
         3268  +  lt_cv_deplibs_check_method=pass_all
         3269  +  ;;
         3270  +
         3271  +solaris*)
         3272  +  lt_cv_deplibs_check_method=pass_all
         3273  +  ;;
         3274  +
         3275  +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
         3276  +  lt_cv_deplibs_check_method=pass_all
         3277  +  ;;
         3278  +
         3279  +sysv4 | sysv4.3*)
         3280  +  case $host_vendor in
         3281  +  motorola)
         3282  +    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]]'
         3283  +    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
         3284  +    ;;
         3285  +  ncr)
         3286  +    lt_cv_deplibs_check_method=pass_all
         3287  +    ;;
         3288  +  sequent)
         3289  +    lt_cv_file_magic_cmd='/bin/file'
         3290  +    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
         3291  +    ;;
         3292  +  sni)
         3293  +    lt_cv_file_magic_cmd='/bin/file'
         3294  +    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
         3295  +    lt_cv_file_magic_test_file=/lib/libc.so
         3296  +    ;;
         3297  +  siemens)
         3298  +    lt_cv_deplibs_check_method=pass_all
         3299  +    ;;
         3300  +  pc)
         3301  +    lt_cv_deplibs_check_method=pass_all
         3302  +    ;;
         3303  +  esac
         3304  +  ;;
         3305  +
         3306  +tpf*)
         3307  +  lt_cv_deplibs_check_method=pass_all
         3308  +  ;;
         3309  +esac
         3310  +])
         3311  +
         3312  +file_magic_glob=
         3313  +want_nocaseglob=no
         3314  +if test "$build" = "$host"; then
         3315  +  case $host_os in
         3316  +  mingw* | pw32*)
         3317  +    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
         3318  +      want_nocaseglob=yes
         3319  +    else
         3320  +      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
         3321  +    fi
         3322  +    ;;
         3323  +  esac
         3324  +fi
         3325  +
         3326  +file_magic_cmd=$lt_cv_file_magic_cmd
         3327  +deplibs_check_method=$lt_cv_deplibs_check_method
         3328  +test -z "$deplibs_check_method" && deplibs_check_method=unknown
         3329  +
         3330  +_LT_DECL([], [deplibs_check_method], [1],
         3331  +    [Method to check whether dependent libraries are shared objects])
         3332  +_LT_DECL([], [file_magic_cmd], [1],
         3333  +    [Command to use when deplibs_check_method = "file_magic"])
         3334  +_LT_DECL([], [file_magic_glob], [1],
         3335  +    [How to find potential files when deplibs_check_method = "file_magic"])
         3336  +_LT_DECL([], [want_nocaseglob], [1],
         3337  +    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
         3338  +])# _LT_CHECK_MAGIC_METHOD
         3339  +
         3340  +
         3341  +# LT_PATH_NM
         3342  +# ----------
         3343  +# find the pathname to a BSD- or MS-compatible name lister
         3344  +AC_DEFUN([LT_PATH_NM],
         3345  +[AC_REQUIRE([AC_PROG_CC])dnl
         3346  +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
         3347  +[if test -n "$NM"; then
         3348  +  # Let the user override the test.
         3349  +  lt_cv_path_NM="$NM"
         3350  +else
         3351  +  lt_nm_to_check="${ac_tool_prefix}nm"
         3352  +  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
         3353  +    lt_nm_to_check="$lt_nm_to_check nm"
         3354  +  fi
         3355  +  for lt_tmp_nm in $lt_nm_to_check; do
         3356  +    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
         3357  +    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
         3358  +      IFS="$lt_save_ifs"
         3359  +      test -z "$ac_dir" && ac_dir=.
         3360  +      tmp_nm="$ac_dir/$lt_tmp_nm"
         3361  +      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
         3362  +	# Check to see if the nm accepts a BSD-compat flag.
         3363  +	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
         3364  +	#   nm: unknown option "B" ignored
         3365  +	# Tru64's nm complains that /dev/null is an invalid object file
         3366  +	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
         3367  +	*/dev/null* | *'Invalid file or object type'*)
         3368  +	  lt_cv_path_NM="$tmp_nm -B"
         3369  +	  break
         3370  +	  ;;
         3371  +	*)
         3372  +	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
         3373  +	  */dev/null*)
         3374  +	    lt_cv_path_NM="$tmp_nm -p"
         3375  +	    break
         3376  +	    ;;
         3377  +	  *)
         3378  +	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
         3379  +	    continue # so that we can try to find one that supports BSD flags
         3380  +	    ;;
         3381  +	  esac
         3382  +	  ;;
         3383  +	esac
         3384  +      fi
         3385  +    done
         3386  +    IFS="$lt_save_ifs"
         3387  +  done
         3388  +  : ${lt_cv_path_NM=no}
         3389  +fi])
         3390  +if test "$lt_cv_path_NM" != "no"; then
         3391  +  NM="$lt_cv_path_NM"
         3392  +else
         3393  +  # Didn't find any BSD compatible name lister, look for dumpbin.
         3394  +  if test -n "$DUMPBIN"; then :
         3395  +    # Let the user override the test.
         3396  +  else
         3397  +    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
         3398  +    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
         3399  +    *COFF*)
         3400  +      DUMPBIN="$DUMPBIN -symbols"
         3401  +      ;;
         3402  +    *)
         3403  +      DUMPBIN=:
         3404  +      ;;
         3405  +    esac
         3406  +  fi
         3407  +  AC_SUBST([DUMPBIN])
         3408  +  if test "$DUMPBIN" != ":"; then
         3409  +    NM="$DUMPBIN"
         3410  +  fi
         3411  +fi
         3412  +test -z "$NM" && NM=nm
         3413  +AC_SUBST([NM])
         3414  +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
         3415  +
         3416  +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
         3417  +  [lt_cv_nm_interface="BSD nm"
         3418  +  echo "int some_variable = 0;" > conftest.$ac_ext
         3419  +  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
         3420  +  (eval "$ac_compile" 2>conftest.err)
         3421  +  cat conftest.err >&AS_MESSAGE_LOG_FD
         3422  +  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
         3423  +  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
         3424  +  cat conftest.err >&AS_MESSAGE_LOG_FD
         3425  +  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
         3426  +  cat conftest.out >&AS_MESSAGE_LOG_FD
         3427  +  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
         3428  +    lt_cv_nm_interface="MS dumpbin"
         3429  +  fi
         3430  +  rm -f conftest*])
         3431  +])# LT_PATH_NM
         3432  +
         3433  +# Old names:
         3434  +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
         3435  +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
         3436  +dnl aclocal-1.4 backwards compatibility:
         3437  +dnl AC_DEFUN([AM_PROG_NM], [])
         3438  +dnl AC_DEFUN([AC_PROG_NM], [])
         3439  +
         3440  +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
         3441  +# --------------------------------
         3442  +# how to determine the name of the shared library
         3443  +# associated with a specific link library.
         3444  +#  -- PORTME fill in with the dynamic library characteristics
         3445  +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
         3446  +[m4_require([_LT_DECL_EGREP])
         3447  +m4_require([_LT_DECL_OBJDUMP])
         3448  +m4_require([_LT_DECL_DLLTOOL])
         3449  +AC_CACHE_CHECK([how to associate runtime and link libraries],
         3450  +lt_cv_sharedlib_from_linklib_cmd,
         3451  +[lt_cv_sharedlib_from_linklib_cmd='unknown'
         3452  +
         3453  +case $host_os in
         3454  +cygwin* | mingw* | pw32* | cegcc*)
         3455  +  # two different shell functions defined in ltmain.sh
         3456  +  # decide which to use based on capabilities of $DLLTOOL
         3457  +  case `$DLLTOOL --help 2>&1` in
         3458  +  *--identify-strict*)
         3459  +    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
         3460  +    ;;
         3461  +  *)
         3462  +    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
         3463  +    ;;
         3464  +  esac
         3465  +  ;;
         3466  +*)
         3467  +  # fallback: assume linklib IS sharedlib
         3468  +  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
         3469  +  ;;
         3470  +esac
         3471  +])
         3472  +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
         3473  +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
         3474  +
         3475  +_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
         3476  +    [Command to associate shared and link libraries])
         3477  +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
         3478  +
         3479  +
         3480  +# _LT_PATH_MANIFEST_TOOL
         3481  +# ----------------------
         3482  +# locate the manifest tool
         3483  +m4_defun([_LT_PATH_MANIFEST_TOOL],
         3484  +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
         3485  +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
         3486  +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
         3487  +  [lt_cv_path_mainfest_tool=no
         3488  +  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
         3489  +  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
         3490  +  cat conftest.err >&AS_MESSAGE_LOG_FD
         3491  +  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
         3492  +    lt_cv_path_mainfest_tool=yes
         3493  +  fi
         3494  +  rm -f conftest*])
         3495  +if test "x$lt_cv_path_mainfest_tool" != xyes; then
         3496  +  MANIFEST_TOOL=:
         3497  +fi
         3498  +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
         3499  +])# _LT_PATH_MANIFEST_TOOL
         3500  +
         3501  +
         3502  +# LT_LIB_M
         3503  +# --------
         3504  +# check for math library
         3505  +AC_DEFUN([LT_LIB_M],
         3506  +[AC_REQUIRE([AC_CANONICAL_HOST])dnl
         3507  +LIBM=
         3508  +case $host in
         3509  +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
         3510  +  # These system don't have libm, or don't need it
         3511  +  ;;
         3512  +*-ncr-sysv4.3*)
         3513  +  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
         3514  +  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
         3515  +  ;;
         3516  +*)
         3517  +  AC_CHECK_LIB(m, cos, LIBM="-lm")
         3518  +  ;;
         3519  +esac
         3520  +AC_SUBST([LIBM])
         3521  +])# LT_LIB_M
         3522  +
         3523  +# Old name:
         3524  +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
         3525  +dnl aclocal-1.4 backwards compatibility:
         3526  +dnl AC_DEFUN([AC_CHECK_LIBM], [])
         3527  +
         3528  +
         3529  +# _LT_COMPILER_NO_RTTI([TAGNAME])
         3530  +# -------------------------------
         3531  +m4_defun([_LT_COMPILER_NO_RTTI],
         3532  +[m4_require([_LT_TAG_COMPILER])dnl
         3533  +
         3534  +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
         3535  +
         3536  +if test "$GCC" = yes; then
         3537  +  case $cc_basename in
         3538  +  nvcc*)
         3539  +    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
         3540  +  *)
         3541  +    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
         3542  +  esac
         3543  +
         3544  +  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
         3545  +    lt_cv_prog_compiler_rtti_exceptions,
         3546  +    [-fno-rtti -fno-exceptions], [],
         3547  +    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
         3548  +fi
         3549  +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
         3550  +	[Compiler flag to turn off builtin functions])
         3551  +])# _LT_COMPILER_NO_RTTI
         3552  +
         3553  +
         3554  +# _LT_CMD_GLOBAL_SYMBOLS
         3555  +# ----------------------
         3556  +m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
         3557  +[AC_REQUIRE([AC_CANONICAL_HOST])dnl
         3558  +AC_REQUIRE([AC_PROG_CC])dnl
         3559  +AC_REQUIRE([AC_PROG_AWK])dnl
         3560  +AC_REQUIRE([LT_PATH_NM])dnl
         3561  +AC_REQUIRE([LT_PATH_LD])dnl
         3562  +m4_require([_LT_DECL_SED])dnl
         3563  +m4_require([_LT_DECL_EGREP])dnl
         3564  +m4_require([_LT_TAG_COMPILER])dnl
         3565  +
         3566  +# Check for command to grab the raw symbol name followed by C symbol from nm.
         3567  +AC_MSG_CHECKING([command to parse $NM output from $compiler object])
         3568  +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
         3569  +[
         3570  +# These are sane defaults that work on at least a few old systems.
         3571  +# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
         3572  +
         3573  +# Character class describing NM global symbol codes.
         3574  +symcode='[[BCDEGRST]]'
         3575  +
         3576  +# Regexp to match symbols that can be accessed directly from C.
         3577  +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
         3578  +
         3579  +# Define system-specific variables.
         3580  +case $host_os in
         3581  +aix*)
         3582  +  symcode='[[BCDT]]'
         3583  +  ;;
         3584  +cygwin* | mingw* | pw32* | cegcc*)
         3585  +  symcode='[[ABCDGISTW]]'
         3586  +  ;;
         3587  +hpux*)
         3588  +  if test "$host_cpu" = ia64; then
         3589  +    symcode='[[ABCDEGRST]]'
         3590  +  fi
         3591  +  ;;
         3592  +irix* | nonstopux*)
         3593  +  symcode='[[BCDEGRST]]'
         3594  +  ;;
         3595  +osf*)
         3596  +  symcode='[[BCDEGQRST]]'
         3597  +  ;;
         3598  +solaris*)
         3599  +  symcode='[[BDRT]]'
         3600  +  ;;
         3601  +sco3.2v5*)
         3602  +  symcode='[[DT]]'
         3603  +  ;;
         3604  +sysv4.2uw2*)
         3605  +  symcode='[[DT]]'
         3606  +  ;;
         3607  +sysv5* | sco5v6* | unixware* | OpenUNIX*)
         3608  +  symcode='[[ABDT]]'
         3609  +  ;;
         3610  +sysv4)
         3611  +  symcode='[[DFNSTU]]'
         3612  +  ;;
         3613  +esac
         3614  +
         3615  +# If we're using GNU nm, then use its standard symbol codes.
         3616  +case `$NM -V 2>&1` in
         3617  +*GNU* | *'with BFD'*)
         3618  +  symcode='[[ABCDGIRSTW]]' ;;
         3619  +esac
         3620  +
         3621  +# Transform an extracted symbol line into a proper C declaration.
         3622  +# Some systems (esp. on ia64) link data and code symbols differently,
         3623  +# so use this general approach.
         3624  +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
         3625  +
         3626  +# Transform an extracted symbol line into symbol name and symbol address
         3627  +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
         3628  +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'"
         3629  +
         3630  +# Handle CRLF in mingw tool chain
         3631  +opt_cr=
         3632  +case $build_os in
         3633  +mingw*)
         3634  +  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
         3635  +  ;;
         3636  +esac
         3637  +
         3638  +# Try without a prefix underscore, then with it.
         3639  +for ac_symprfx in "" "_"; do
         3640  +
         3641  +  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
         3642  +  symxfrm="\\1 $ac_symprfx\\2 \\2"
         3643  +
         3644  +  # Write the raw and C identifiers.
         3645  +  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
         3646  +    # Fake it for dumpbin and say T for any non-static function
         3647  +    # and D for any global variable.
         3648  +    # Also find C++ and __fastcall symbols from MSVC++,
         3649  +    # which start with @ or ?.
         3650  +    lt_cv_sys_global_symbol_pipe="$AWK ['"\
         3651  +"     {last_section=section; section=\$ 3};"\
         3652  +"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
         3653  +"     \$ 0!~/External *\|/{next};"\
         3654  +"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
         3655  +"     {if(hide[section]) next};"\
         3656  +"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
         3657  +"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
         3658  +"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
         3659  +"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
         3660  +"     ' prfx=^$ac_symprfx]"
         3661  +  else
         3662  +    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
         3663  +  fi
         3664  +  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
         3665  +
         3666  +  # Check to see that the pipe works correctly.
         3667  +  pipe_works=no
         3668  +
         3669  +  rm -f conftest*
         3670  +  cat > conftest.$ac_ext <<_LT_EOF
         3671  +#ifdef __cplusplus
         3672  +extern "C" {
         3673  +#endif
         3674  +char nm_test_var;
         3675  +void nm_test_func(void);
         3676  +void nm_test_func(void){}
         3677  +#ifdef __cplusplus
         3678  +}
         3679  +#endif
         3680  +int main(){nm_test_var='a';nm_test_func();return(0);}
         3681  +_LT_EOF
         3682  +
         3683  +  if AC_TRY_EVAL(ac_compile); then
         3684  +    # Now try to grab the symbols.
         3685  +    nlist=conftest.nm
         3686  +    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
         3687  +      # Try sorting and uniquifying the output.
         3688  +      if sort "$nlist" | uniq > "$nlist"T; then
         3689  +	mv -f "$nlist"T "$nlist"
         3690  +      else
         3691  +	rm -f "$nlist"T
         3692  +      fi
         3693  +
         3694  +      # Make sure that we snagged all the symbols we need.
         3695  +      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
         3696  +	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
         3697  +	  cat <<_LT_EOF > conftest.$ac_ext
         3698  +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
         3699  +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
         3700  +/* DATA imports from DLLs on WIN32 con't be const, because runtime
         3701  +   relocations are performed -- see ld's documentation on pseudo-relocs.  */
         3702  +# define LT@&t@_DLSYM_CONST
         3703  +#elif defined(__osf__)
         3704  +/* This system does not cope well with relocations in const data.  */
         3705  +# define LT@&t@_DLSYM_CONST
         3706  +#else
         3707  +# define LT@&t@_DLSYM_CONST const
         3708  +#endif
         3709  +
         3710  +#ifdef __cplusplus
         3711  +extern "C" {
         3712  +#endif
         3713  +
         3714  +_LT_EOF
         3715  +	  # Now generate the symbol file.
         3716  +	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
         3717  +
         3718  +	  cat <<_LT_EOF >> conftest.$ac_ext
         3719  +
         3720  +/* The mapping between symbol names and symbols.  */
         3721  +LT@&t@_DLSYM_CONST struct {
         3722  +  const char *name;
         3723  +  void       *address;
         3724  +}
         3725  +lt__PROGRAM__LTX_preloaded_symbols[[]] =
         3726  +{
         3727  +  { "@PROGRAM@", (void *) 0 },
         3728  +_LT_EOF
         3729  +	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
         3730  +	  cat <<\_LT_EOF >> conftest.$ac_ext
         3731  +  {0, (void *) 0}
         3732  +};
         3733  +
         3734  +/* This works around a problem in FreeBSD linker */
         3735  +#ifdef FREEBSD_WORKAROUND
         3736  +static const void *lt_preloaded_setup() {
         3737  +  return lt__PROGRAM__LTX_preloaded_symbols;
         3738  +}
         3739  +#endif
         3740  +
         3741  +#ifdef __cplusplus
         3742  +}
         3743  +#endif
         3744  +_LT_EOF
         3745  +	  # Now try linking the two files.
         3746  +	  mv conftest.$ac_objext conftstm.$ac_objext
         3747  +	  lt_globsym_save_LIBS=$LIBS
         3748  +	  lt_globsym_save_CFLAGS=$CFLAGS
         3749  +	  LIBS="conftstm.$ac_objext"
         3750  +	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
         3751  +	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
         3752  +	    pipe_works=yes
         3753  +	  fi
         3754  +	  LIBS=$lt_globsym_save_LIBS
         3755  +	  CFLAGS=$lt_globsym_save_CFLAGS
         3756  +	else
         3757  +	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
         3758  +	fi
         3759  +      else
         3760  +	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
         3761  +      fi
         3762  +    else
         3763  +      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
         3764  +    fi
         3765  +  else
         3766  +    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
         3767  +    cat conftest.$ac_ext >&5
         3768  +  fi
         3769  +  rm -rf conftest* conftst*
         3770  +
         3771  +  # Do not use the global_symbol_pipe unless it works.
         3772  +  if test "$pipe_works" = yes; then
         3773  +    break
         3774  +  else
         3775  +    lt_cv_sys_global_symbol_pipe=
         3776  +  fi
         3777  +done
         3778  +])
         3779  +if test -z "$lt_cv_sys_global_symbol_pipe"; then
         3780  +  lt_cv_sys_global_symbol_to_cdecl=
         3781  +fi
         3782  +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
         3783  +  AC_MSG_RESULT(failed)
         3784  +else
         3785  +  AC_MSG_RESULT(ok)
         3786  +fi
         3787  +
         3788  +# Response file support.
         3789  +if test "$lt_cv_nm_interface" = "MS dumpbin"; then
         3790  +  nm_file_list_spec='@'
         3791  +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
         3792  +  nm_file_list_spec='@'
         3793  +fi
         3794  +
         3795  +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
         3796  +    [Take the output of nm and produce a listing of raw symbols and C names])
         3797  +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
         3798  +    [Transform the output of nm in a proper C declaration])
         3799  +_LT_DECL([global_symbol_to_c_name_address],
         3800  +    [lt_cv_sys_global_symbol_to_c_name_address], [1],
         3801  +    [Transform the output of nm in a C name address pair])
         3802  +_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
         3803  +    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
         3804  +    [Transform the output of nm in a C name address pair when lib prefix is needed])
         3805  +_LT_DECL([], [nm_file_list_spec], [1],
         3806  +    [Specify filename containing input files for $NM])
         3807  +]) # _LT_CMD_GLOBAL_SYMBOLS
         3808  +
         3809  +
         3810  +# _LT_COMPILER_PIC([TAGNAME])
         3811  +# ---------------------------
         3812  +m4_defun([_LT_COMPILER_PIC],
         3813  +[m4_require([_LT_TAG_COMPILER])dnl
         3814  +_LT_TAGVAR(lt_prog_compiler_wl, $1)=
         3815  +_LT_TAGVAR(lt_prog_compiler_pic, $1)=
         3816  +_LT_TAGVAR(lt_prog_compiler_static, $1)=
         3817  +
         3818  +m4_if([$1], [CXX], [
         3819  +  # C++ specific cases for pic, static, wl, etc.
         3820  +  if test "$GXX" = yes; then
         3821  +    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         3822  +    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         3823  +
         3824  +    case $host_os in
         3825  +    aix*)
         3826  +      # All AIX code is PIC.
         3827  +      if test "$host_cpu" = ia64; then
         3828  +	# AIX 5 now supports IA64 processor
         3829  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         3830  +      fi
         3831  +      ;;
         3832  +
         3833  +    amigaos*)
         3834  +      case $host_cpu in
         3835  +      powerpc)
         3836  +            # see comment about AmigaOS4 .so support
         3837  +            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         3838  +        ;;
         3839  +      m68k)
         3840  +            # FIXME: we need at least 68020 code to build shared libraries, but
         3841  +            # adding the `-m68020' flag to GCC prevents building anything better,
         3842  +            # like `-m68040'.
         3843  +            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
         3844  +        ;;
         3845  +      esac
         3846  +      ;;
         3847  +
         3848  +    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
         3849  +      # PIC is the default for these OSes.
         3850  +      ;;
         3851  +    mingw* | cygwin* | os2* | pw32* | cegcc*)
         3852  +      # This hack is so that the source file can tell whether it is being
         3853  +      # built for inclusion in a dll (and should export symbols for example).
         3854  +      # Although the cygwin gcc ignores -fPIC, still need this for old-style
         3855  +      # (--disable-auto-import) libraries
         3856  +      m4_if([$1], [GCJ], [],
         3857  +	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
         3858  +      ;;
         3859  +    darwin* | rhapsody*)
         3860  +      # PIC is the default on this platform
         3861  +      # Common symbols not allowed in MH_DYLIB files
         3862  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
         3863  +      ;;
         3864  +    *djgpp*)
         3865  +      # DJGPP does not support shared libraries at all
         3866  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
         3867  +      ;;
         3868  +    haiku*)
         3869  +      # PIC is the default for Haiku.
         3870  +      # The "-static" flag exists, but is broken.
         3871  +      _LT_TAGVAR(lt_prog_compiler_static, $1)=
         3872  +      ;;
         3873  +    interix[[3-9]]*)
         3874  +      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
         3875  +      # Instead, we relocate shared libraries at runtime.
         3876  +      ;;
         3877  +    sysv4*MP*)
         3878  +      if test -d /usr/nec; then
         3879  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
         3880  +      fi
         3881  +      ;;
         3882  +    hpux*)
         3883  +      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
         3884  +      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
         3885  +      # sets the default TLS model and affects inlining.
         3886  +      case $host_cpu in
         3887  +      hppa*64*)
         3888  +	;;
         3889  +      *)
         3890  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         3891  +	;;
         3892  +      esac
         3893  +      ;;
         3894  +    *qnx* | *nto*)
         3895  +      # QNX uses GNU C++, but need to define -shared option too, otherwise
         3896  +      # it will coredump.
         3897  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
         3898  +      ;;
         3899  +    *)
         3900  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         3901  +      ;;
         3902  +    esac
         3903  +  else
         3904  +    case $host_os in
         3905  +      aix[[4-9]]*)
         3906  +	# All AIX code is PIC.
         3907  +	if test "$host_cpu" = ia64; then
         3908  +	  # AIX 5 now supports IA64 processor
         3909  +	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         3910  +	else
         3911  +	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
         3912  +	fi
         3913  +	;;
         3914  +      chorus*)
         3915  +	case $cc_basename in
         3916  +	cxch68*)
         3917  +	  # Green Hills C++ Compiler
         3918  +	  # _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"
         3919  +	  ;;
         3920  +	esac
         3921  +	;;
         3922  +      mingw* | cygwin* | os2* | pw32* | cegcc*)
         3923  +	# This hack is so that the source file can tell whether it is being
         3924  +	# built for inclusion in a dll (and should export symbols for example).
         3925  +	m4_if([$1], [GCJ], [],
         3926  +	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
         3927  +	;;
         3928  +      dgux*)
         3929  +	case $cc_basename in
         3930  +	  ec++*)
         3931  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         3932  +	    ;;
         3933  +	  ghcx*)
         3934  +	    # Green Hills C++ Compiler
         3935  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
         3936  +	    ;;
         3937  +	  *)
         3938  +	    ;;
         3939  +	esac
         3940  +	;;
         3941  +      freebsd* | dragonfly*)
         3942  +	# FreeBSD uses GNU C++
         3943  +	;;
         3944  +      hpux9* | hpux10* | hpux11*)
         3945  +	case $cc_basename in
         3946  +	  CC*)
         3947  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         3948  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
         3949  +	    if test "$host_cpu" != ia64; then
         3950  +	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
         3951  +	    fi
         3952  +	    ;;
         3953  +	  aCC*)
         3954  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         3955  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
         3956  +	    case $host_cpu in
         3957  +	    hppa*64*|ia64*)
         3958  +	      # +Z the default
         3959  +	      ;;
         3960  +	    *)
         3961  +	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
         3962  +	      ;;
         3963  +	    esac
         3964  +	    ;;
         3965  +	  *)
         3966  +	    ;;
         3967  +	esac
         3968  +	;;
         3969  +      interix*)
         3970  +	# This is c89, which is MS Visual C++ (no shared libs)
         3971  +	# Anyone wants to do a port?
         3972  +	;;
         3973  +      irix5* | irix6* | nonstopux*)
         3974  +	case $cc_basename in
         3975  +	  CC*)
         3976  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         3977  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         3978  +	    # CC pic flag -KPIC is the default.
         3979  +	    ;;
         3980  +	  *)
         3981  +	    ;;
         3982  +	esac
         3983  +	;;
         3984  +      linux* | k*bsd*-gnu | kopensolaris*-gnu)
         3985  +	case $cc_basename in
         3986  +	  KCC*)
         3987  +	    # KAI C++ Compiler
         3988  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
         3989  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         3990  +	    ;;
         3991  +	  ecpc* )
         3992  +	    # old Intel C++ for x86_64 which still supported -KPIC.
         3993  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         3994  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         3995  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         3996  +	    ;;
         3997  +	  icpc* )
         3998  +	    # Intel C++, used to be incompatible with GCC.
         3999  +	    # ICC 10 doesn't accept -KPIC any more.
         4000  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4001  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         4002  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         4003  +	    ;;
         4004  +	  pgCC* | pgcpp*)
         4005  +	    # Portland Group C++ compiler
         4006  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4007  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
         4008  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4009  +	    ;;
         4010  +	  cxx*)
         4011  +	    # Compaq C++
         4012  +	    # Make sure the PIC flag is empty.  It appears that all Alpha
         4013  +	    # Linux and Compaq Tru64 Unix objects are PIC.
         4014  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
         4015  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         4016  +	    ;;
         4017  +	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
         4018  +	    # IBM XL 8.0, 9.0 on PPC and BlueGene
         4019  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4020  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
         4021  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
         4022  +	    ;;
         4023  +	  *)
         4024  +	    case `$CC -V 2>&1 | sed 5q` in
         4025  +	    *Sun\ C*)
         4026  +	      # Sun C++ 5.9
         4027  +	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4028  +	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4029  +	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
         4030  +	      ;;
         4031  +	    esac
         4032  +	    ;;
         4033  +	esac
         4034  +	;;
         4035  +      lynxos*)
         4036  +	;;
         4037  +      m88k*)
         4038  +	;;
         4039  +      mvs*)
         4040  +	case $cc_basename in
         4041  +	  cxx*)
         4042  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
         4043  +	    ;;
         4044  +	  *)
         4045  +	    ;;
         4046  +	esac
         4047  +	;;
         4048  +      netbsd*)
         4049  +	;;
         4050  +      *qnx* | *nto*)
         4051  +        # QNX uses GNU C++, but need to define -shared option too, otherwise
         4052  +        # it will coredump.
         4053  +        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
         4054  +        ;;
         4055  +      osf3* | osf4* | osf5*)
         4056  +	case $cc_basename in
         4057  +	  KCC*)
         4058  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
         4059  +	    ;;
         4060  +	  RCC*)
         4061  +	    # Rational C++ 2.4.1
         4062  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
         4063  +	    ;;
         4064  +	  cxx*)
         4065  +	    # Digital/Compaq C++
         4066  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4067  +	    # Make sure the PIC flag is empty.  It appears that all Alpha
         4068  +	    # Linux and Compaq Tru64 Unix objects are PIC.
         4069  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
         4070  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         4071  +	    ;;
         4072  +	  *)
         4073  +	    ;;
         4074  +	esac
         4075  +	;;
         4076  +      psos*)
         4077  +	;;
         4078  +      solaris*)
         4079  +	case $cc_basename in
         4080  +	  CC* | sunCC*)
         4081  +	    # Sun C++ 4.2, 5.x and Centerline C++
         4082  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4083  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4084  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
         4085  +	    ;;
         4086  +	  gcx*)
         4087  +	    # Green Hills C++ Compiler
         4088  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
         4089  +	    ;;
         4090  +	  *)
         4091  +	    ;;
         4092  +	esac
         4093  +	;;
         4094  +      sunos4*)
         4095  +	case $cc_basename in
         4096  +	  CC*)
         4097  +	    # Sun C++ 4.x
         4098  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
         4099  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4100  +	    ;;
         4101  +	  lcc*)
         4102  +	    # Lucid
         4103  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
         4104  +	    ;;
         4105  +	  *)
         4106  +	    ;;
         4107  +	esac
         4108  +	;;
         4109  +      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
         4110  +	case $cc_basename in
         4111  +	  CC*)
         4112  +	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4113  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4114  +	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4115  +	    ;;
         4116  +	esac
         4117  +	;;
         4118  +      tandem*)
         4119  +	case $cc_basename in
         4120  +	  NCC*)
         4121  +	    # NonStop-UX NCC 3.20
         4122  +	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4123  +	    ;;
         4124  +	  *)
         4125  +	    ;;
         4126  +	esac
         4127  +	;;
         4128  +      vxworks*)
         4129  +	;;
         4130  +      *)
         4131  +	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
         4132  +	;;
         4133  +    esac
         4134  +  fi
         4135  +],
         4136  +[
         4137  +  if test "$GCC" = yes; then
         4138  +    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4139  +    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         4140  +
         4141  +    case $host_os in
         4142  +      aix*)
         4143  +      # All AIX code is PIC.
         4144  +      if test "$host_cpu" = ia64; then
         4145  +	# AIX 5 now supports IA64 processor
         4146  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4147  +      fi
         4148  +      ;;
         4149  +
         4150  +    amigaos*)
         4151  +      case $host_cpu in
         4152  +      powerpc)
         4153  +            # see comment about AmigaOS4 .so support
         4154  +            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         4155  +        ;;
         4156  +      m68k)
         4157  +            # FIXME: we need at least 68020 code to build shared libraries, but
         4158  +            # adding the `-m68020' flag to GCC prevents building anything better,
         4159  +            # like `-m68040'.
         4160  +            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
         4161  +        ;;
         4162  +      esac
         4163  +      ;;
         4164  +
         4165  +    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
         4166  +      # PIC is the default for these OSes.
         4167  +      ;;
         4168  +
         4169  +    mingw* | cygwin* | pw32* | os2* | cegcc*)
         4170  +      # This hack is so that the source file can tell whether it is being
         4171  +      # built for inclusion in a dll (and should export symbols for example).
         4172  +      # Although the cygwin gcc ignores -fPIC, still need this for old-style
         4173  +      # (--disable-auto-import) libraries
         4174  +      m4_if([$1], [GCJ], [],
         4175  +	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
         4176  +      ;;
         4177  +
         4178  +    darwin* | rhapsody*)
         4179  +      # PIC is the default on this platform
         4180  +      # Common symbols not allowed in MH_DYLIB files
         4181  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
         4182  +      ;;
         4183  +
         4184  +    haiku*)
         4185  +      # PIC is the default for Haiku.
         4186  +      # The "-static" flag exists, but is broken.
         4187  +      _LT_TAGVAR(lt_prog_compiler_static, $1)=
         4188  +      ;;
         4189  +
         4190  +    hpux*)
         4191  +      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
         4192  +      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
         4193  +      # sets the default TLS model and affects inlining.
         4194  +      case $host_cpu in
         4195  +      hppa*64*)
         4196  +	# +Z the default
         4197  +	;;
         4198  +      *)
         4199  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         4200  +	;;
         4201  +      esac
         4202  +      ;;
         4203  +
         4204  +    interix[[3-9]]*)
         4205  +      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
         4206  +      # Instead, we relocate shared libraries at runtime.
         4207  +      ;;
         4208  +
         4209  +    msdosdjgpp*)
         4210  +      # Just because we use GCC doesn't mean we suddenly get shared libraries
         4211  +      # on systems that don't support them.
         4212  +      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
         4213  +      enable_shared=no
         4214  +      ;;
         4215  +
         4216  +    *nto* | *qnx*)
         4217  +      # QNX uses GNU C++, but need to define -shared option too, otherwise
         4218  +      # it will coredump.
         4219  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
         4220  +      ;;
         4221  +
         4222  +    sysv4*MP*)
         4223  +      if test -d /usr/nec; then
         4224  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
         4225  +      fi
         4226  +      ;;
         4227  +
         4228  +    *)
         4229  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         4230  +      ;;
         4231  +    esac
         4232  +
         4233  +    case $cc_basename in
         4234  +    nvcc*) # Cuda Compiler Driver 2.2
         4235  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
         4236  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
         4237  +      ;;
         4238  +    esac
         4239  +  else
         4240  +    # PORTME Check for flag to pass linker flags through the system compiler.
         4241  +    case $host_os in
         4242  +    aix*)
         4243  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4244  +      if test "$host_cpu" = ia64; then
         4245  +	# AIX 5 now supports IA64 processor
         4246  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4247  +      else
         4248  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
         4249  +      fi
         4250  +      ;;
         4251  +
         4252  +    mingw* | cygwin* | pw32* | os2* | cegcc*)
         4253  +      # This hack is so that the source file can tell whether it is being
         4254  +      # built for inclusion in a dll (and should export symbols for example).
         4255  +      m4_if([$1], [GCJ], [],
         4256  +	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
         4257  +      ;;
         4258  +
         4259  +    hpux9* | hpux10* | hpux11*)
         4260  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4261  +      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
         4262  +      # not for PA HP-UX.
         4263  +      case $host_cpu in
         4264  +      hppa*64*|ia64*)
         4265  +	# +Z the default
         4266  +	;;
         4267  +      *)
         4268  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
         4269  +	;;
         4270  +      esac
         4271  +      # Is there a better lt_prog_compiler_static that works with the bundled CC?
         4272  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
         4273  +      ;;
         4274  +
         4275  +    irix5* | irix6* | nonstopux*)
         4276  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4277  +      # PIC (with -KPIC) is the default.
         4278  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         4279  +      ;;
         4280  +
         4281  +    linux* | k*bsd*-gnu | kopensolaris*-gnu)
         4282  +      case $cc_basename in
         4283  +      # old Intel for x86_64 which still supported -KPIC.
         4284  +      ecc*)
         4285  +	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4286  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4287  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         4288  +        ;;
         4289  +      # icc used to be incompatible with GCC.
         4290  +      # ICC 10 doesn't accept -KPIC any more.
         4291  +      icc* | ifort*)
         4292  +	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4293  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
         4294  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         4295  +        ;;
         4296  +      # Lahey Fortran 8.1.
         4297  +      lf95*)
         4298  +	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4299  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
         4300  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
         4301  +	;;
         4302  +      nagfor*)
         4303  +	# NAG Fortran compiler
         4304  +	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
         4305  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
         4306  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4307  +	;;
         4308  +      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         4309  +        # Portland Group compilers (*not* the Pentium gcc compiler,
         4310  +	# which looks to be a dead project)
         4311  +	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4312  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
         4313  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4314  +        ;;
         4315  +      ccc*)
         4316  +        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4317  +        # All Alpha code is PIC.
         4318  +        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         4319  +        ;;
         4320  +      xl* | bgxl* | bgf* | mpixl*)
         4321  +	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
         4322  +	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4323  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
         4324  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
         4325  +	;;
         4326  +      *)
         4327  +	case `$CC -V 2>&1 | sed 5q` in
         4328  +	*Sun\ F* | *Sun*Fortran*)
         4329  +	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
         4330  +	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4331  +	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4332  +	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
         4333  +	  ;;
         4334  +	*Sun\ C*)
         4335  +	  # Sun C 5.9
         4336  +	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4337  +	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4338  +	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4339  +	  ;;
         4340  +	esac
         4341  +	;;
         4342  +      esac
         4343  +      ;;
         4344  +
         4345  +    newsos6)
         4346  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4347  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4348  +      ;;
         4349  +
         4350  +    *nto* | *qnx*)
         4351  +      # QNX uses GNU C++, but need to define -shared option too, otherwise
         4352  +      # it will coredump.
         4353  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
         4354  +      ;;
         4355  +
         4356  +    osf3* | osf4* | osf5*)
         4357  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4358  +      # All OSF/1 code is PIC.
         4359  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         4360  +      ;;
         4361  +
         4362  +    rdos*)
         4363  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         4364  +      ;;
         4365  +
         4366  +    solaris*)
         4367  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4368  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4369  +      case $cc_basename in
         4370  +      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
         4371  +	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
         4372  +      *)
         4373  +	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
         4374  +      esac
         4375  +      ;;
         4376  +
         4377  +    sunos4*)
         4378  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
         4379  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
         4380  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4381  +      ;;
         4382  +
         4383  +    sysv4 | sysv4.2uw2* | sysv4.3*)
         4384  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4385  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4386  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4387  +      ;;
         4388  +
         4389  +    sysv4*MP*)
         4390  +      if test -d /usr/nec ;then
         4391  +	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
         4392  +	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4393  +      fi
         4394  +      ;;
         4395  +
         4396  +    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
         4397  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4398  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
         4399  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4400  +      ;;
         4401  +
         4402  +    unicos*)
         4403  +      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
         4404  +      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
         4405  +      ;;
         4406  +
         4407  +    uts4*)
         4408  +      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
         4409  +      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
         4410  +      ;;
         4411  +
         4412  +    *)
         4413  +      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
         4414  +      ;;
         4415  +    esac
         4416  +  fi
         4417  +])
         4418  +case $host_os in
         4419  +  # For platforms which do not support PIC, -DPIC is meaningless:
         4420  +  *djgpp*)
         4421  +    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
         4422  +    ;;
         4423  +  *)
         4424  +    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
         4425  +    ;;
         4426  +esac
         4427  +
         4428  +AC_CACHE_CHECK([for $compiler option to produce PIC],
         4429  +  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
         4430  +  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
         4431  +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
         4432  +
         4433  +#
         4434  +# Check to make sure the PIC flag actually works.
         4435  +#
         4436  +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
         4437  +  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
         4438  +    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
         4439  +    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
         4440  +    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
         4441  +     "" | " "*) ;;
         4442  +     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
         4443  +     esac],
         4444  +    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
         4445  +     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
         4446  +fi
         4447  +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
         4448  +	[Additional compiler flags for building library objects])
         4449  +
         4450  +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
         4451  +	[How to pass a linker flag through the compiler])
         4452  +#
         4453  +# Check to make sure the static flag actually works.
         4454  +#
         4455  +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
         4456  +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
         4457  +  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
         4458  +  $lt_tmp_static_flag,
         4459  +  [],
         4460  +  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
         4461  +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
         4462  +	[Compiler flag to prevent dynamic linking])
         4463  +])# _LT_COMPILER_PIC
         4464  +
         4465  +
         4466  +# _LT_LINKER_SHLIBS([TAGNAME])
         4467  +# ----------------------------
         4468  +# See if the linker supports building shared libraries.
         4469  +m4_defun([_LT_LINKER_SHLIBS],
         4470  +[AC_REQUIRE([LT_PATH_LD])dnl
         4471  +AC_REQUIRE([LT_PATH_NM])dnl
         4472  +m4_require([_LT_PATH_MANIFEST_TOOL])dnl
         4473  +m4_require([_LT_FILEUTILS_DEFAULTS])dnl
         4474  +m4_require([_LT_DECL_EGREP])dnl
         4475  +m4_require([_LT_DECL_SED])dnl
         4476  +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
         4477  +m4_require([_LT_TAG_COMPILER])dnl
         4478  +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
         4479  +m4_if([$1], [CXX], [
         4480  +  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
         4481  +  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
         4482  +  case $host_os in
         4483  +  aix[[4-9]]*)
         4484  +    # If we're using GNU nm, then we don't want the "-C" option.
         4485  +    # -C means demangle to AIX nm, but means don't demangle with GNU nm
         4486  +    # Also, AIX nm treats weak defined symbols like other global defined
         4487  +    # symbols, whereas GNU nm marks them as "W".
         4488  +    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
         4489  +      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
         4490  +    else
         4491  +      _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'
         4492  +    fi
         4493  +    ;;
         4494  +  pw32*)
         4495  +    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
         4496  +    ;;
         4497  +  cygwin* | mingw* | cegcc*)
         4498  +    case $cc_basename in
         4499  +    cl*) ;;
         4500  +    *)
         4501  +      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
         4502  +      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
         4503  +      ;;
         4504  +    esac
         4505  +    ;;
         4506  +  *)
         4507  +    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
         4508  +    ;;
         4509  +  esac
         4510  +], [
         4511  +  runpath_var=
         4512  +  _LT_TAGVAR(allow_undefined_flag, $1)=
         4513  +  _LT_TAGVAR(always_export_symbols, $1)=no
         4514  +  _LT_TAGVAR(archive_cmds, $1)=
         4515  +  _LT_TAGVAR(archive_expsym_cmds, $1)=
         4516  +  _LT_TAGVAR(compiler_needs_object, $1)=no
         4517  +  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
         4518  +  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
         4519  +  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
         4520  +  _LT_TAGVAR(hardcode_automatic, $1)=no
         4521  +  _LT_TAGVAR(hardcode_direct, $1)=no
         4522  +  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
         4523  +  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
         4524  +  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
         4525  +  _LT_TAGVAR(hardcode_libdir_separator, $1)=
         4526  +  _LT_TAGVAR(hardcode_minus_L, $1)=no
         4527  +  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
         4528  +  _LT_TAGVAR(inherit_rpath, $1)=no
         4529  +  _LT_TAGVAR(link_all_deplibs, $1)=unknown
         4530  +  _LT_TAGVAR(module_cmds, $1)=
         4531  +  _LT_TAGVAR(module_expsym_cmds, $1)=
         4532  +  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
         4533  +  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
         4534  +  _LT_TAGVAR(thread_safe_flag_spec, $1)=
         4535  +  _LT_TAGVAR(whole_archive_flag_spec, $1)=
         4536  +  # include_expsyms should be a list of space-separated symbols to be *always*
         4537  +  # included in the symbol list
         4538  +  _LT_TAGVAR(include_expsyms, $1)=
         4539  +  # exclude_expsyms can be an extended regexp of symbols to exclude
         4540  +  # it will be wrapped by ` (' and `)$', so one must not match beginning or
         4541  +  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
         4542  +  # as well as any symbol that contains `d'.
         4543  +  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
         4544  +  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
         4545  +  # platforms (ab)use it in PIC code, but their linkers get confused if
         4546  +  # the symbol is explicitly referenced.  Since portable code cannot
         4547  +  # rely on this symbol name, it's probably fine to never include it in
         4548  +  # preloaded symbol tables.
         4549  +  # Exclude shared library initialization/finalization symbols.
         4550  +dnl Note also adjust exclude_expsyms for C++ above.
         4551  +  extract_expsyms_cmds=
         4552  +
         4553  +  case $host_os in
         4554  +  cygwin* | mingw* | pw32* | cegcc*)
         4555  +    # FIXME: the MSVC++ port hasn't been tested in a loooong time
         4556  +    # When not using gcc, we currently assume that we are using
         4557  +    # Microsoft Visual C++.
         4558  +    if test "$GCC" != yes; then
         4559  +      with_gnu_ld=no
         4560  +    fi
         4561  +    ;;
         4562  +  interix*)
         4563  +    # we just hope/assume this is gcc and not c89 (= MSVC++)
         4564  +    with_gnu_ld=yes
         4565  +    ;;
         4566  +  openbsd*)
         4567  +    with_gnu_ld=no
         4568  +    ;;
         4569  +  esac
         4570  +
         4571  +  _LT_TAGVAR(ld_shlibs, $1)=yes
         4572  +
         4573  +  # On some targets, GNU ld is compatible enough with the native linker
         4574  +  # that we're better off using the native interface for both.
         4575  +  lt_use_gnu_ld_interface=no
         4576  +  if test "$with_gnu_ld" = yes; then
         4577  +    case $host_os in
         4578  +      aix*)
         4579  +	# The AIX port of GNU ld has always aspired to compatibility
         4580  +	# with the native linker.  However, as the warning in the GNU ld
         4581  +	# block says, versions before 2.19.5* couldn't really create working
         4582  +	# shared libraries, regardless of the interface used.
         4583  +	case `$LD -v 2>&1` in
         4584  +	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
         4585  +	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
         4586  +	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
         4587  +	  *)
         4588  +	    lt_use_gnu_ld_interface=yes
         4589  +	    ;;
         4590  +	esac
         4591  +	;;
         4592  +      *)
         4593  +	lt_use_gnu_ld_interface=yes
         4594  +	;;
         4595  +    esac
         4596  +  fi
         4597  +
         4598  +  if test "$lt_use_gnu_ld_interface" = yes; then
         4599  +    # If archive_cmds runs LD, not CC, wlarc should be empty
         4600  +    wlarc='${wl}'
         4601  +
         4602  +    # Set some defaults for GNU ld with shared library support. These
         4603  +    # are reset later if shared libraries are not supported. Putting them
         4604  +    # here allows them to be overridden if necessary.
         4605  +    runpath_var=LD_RUN_PATH
         4606  +    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         4607  +    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
         4608  +    # ancient GNU ld didn't support --whole-archive et. al.
         4609  +    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
         4610  +      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
         4611  +    else
         4612  +      _LT_TAGVAR(whole_archive_flag_spec, $1)=
         4613  +    fi
         4614  +    supports_anon_versioning=no
         4615  +    case `$LD -v 2>&1` in
         4616  +      *GNU\ gold*) supports_anon_versioning=yes ;;
         4617  +      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
         4618  +      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
         4619  +      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
         4620  +      *\ 2.11.*) ;; # other 2.11 versions
         4621  +      *) supports_anon_versioning=yes ;;
         4622  +    esac
         4623  +
         4624  +    # See if GNU ld supports shared libraries.
         4625  +    case $host_os in
         4626  +    aix[[3-9]]*)
         4627  +      # On AIX/PPC, the GNU linker is very broken
         4628  +      if test "$host_cpu" != ia64; then
         4629  +	_LT_TAGVAR(ld_shlibs, $1)=no
         4630  +	cat <<_LT_EOF 1>&2
         4631  +
         4632  +*** Warning: the GNU linker, at least up to release 2.19, is reported
         4633  +*** to be unable to reliably create shared libraries on AIX.
         4634  +*** Therefore, libtool is disabling shared libraries support.  If you
         4635  +*** really care for shared libraries, you may want to install binutils
         4636  +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
         4637  +*** You will then need to restart the configuration process.
         4638  +
         4639  +_LT_EOF
         4640  +      fi
         4641  +      ;;
         4642  +
         4643  +    amigaos*)
         4644  +      case $host_cpu in
         4645  +      powerpc)
         4646  +            # see comment about AmigaOS4 .so support
         4647  +            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         4648  +            _LT_TAGVAR(archive_expsym_cmds, $1)=''
         4649  +        ;;
         4650  +      m68k)
         4651  +            _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)'
         4652  +            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         4653  +            _LT_TAGVAR(hardcode_minus_L, $1)=yes
         4654  +        ;;
         4655  +      esac
         4656  +      ;;
         4657  +
         4658  +    beos*)
         4659  +      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
         4660  +	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         4661  +	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
         4662  +	# support --undefined.  This deserves some investigation.  FIXME
         4663  +	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         4664  +      else
         4665  +	_LT_TAGVAR(ld_shlibs, $1)=no
         4666  +      fi
         4667  +      ;;
         4668  +
         4669  +    cygwin* | mingw* | pw32* | cegcc*)
         4670  +      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
         4671  +      # as there is no search path for DLLs.
         4672  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         4673  +      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
         4674  +      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         4675  +      _LT_TAGVAR(always_export_symbols, $1)=no
         4676  +      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
         4677  +      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
         4678  +      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
         4679  +
         4680  +      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
         4681  +        _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'
         4682  +	# If the export-symbols file already is a .def file (1st line
         4683  +	# is EXPORTS), use it as is; otherwise, prepend...
         4684  +	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
         4685  +	  cp $export_symbols $output_objdir/$soname.def;
         4686  +	else
         4687  +	  echo EXPORTS > $output_objdir/$soname.def;
         4688  +	  cat $export_symbols >> $output_objdir/$soname.def;
         4689  +	fi~
         4690  +	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
         4691  +      else
         4692  +	_LT_TAGVAR(ld_shlibs, $1)=no
         4693  +      fi
         4694  +      ;;
         4695  +
         4696  +    haiku*)
         4697  +      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         4698  +      _LT_TAGVAR(link_all_deplibs, $1)=yes
         4699  +      ;;
         4700  +
         4701  +    interix[[3-9]]*)
         4702  +      _LT_TAGVAR(hardcode_direct, $1)=no
         4703  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         4704  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
         4705  +      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         4706  +      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
         4707  +      # Instead, shared libraries are loaded at an image base (0x10000000 by
         4708  +      # default) and relocated if they conflict, which is a slow very memory
         4709  +      # consuming and fragmenting process.  To avoid this, we pick a random,
         4710  +      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
         4711  +      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
         4712  +      _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'
         4713  +      _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'
         4714  +      ;;
         4715  +
         4716  +    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
         4717  +      tmp_diet=no
         4718  +      if test "$host_os" = linux-dietlibc; then
         4719  +	case $cc_basename in
         4720  +	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
         4721  +	esac
         4722  +      fi
         4723  +      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
         4724  +	 && test "$tmp_diet" = no
         4725  +      then
         4726  +	tmp_addflag=' $pic_flag'
         4727  +	tmp_sharedflag='-shared'
         4728  +	case $cc_basename,$host_cpu in
         4729  +        pgcc*)				# Portland Group C compiler
         4730  +	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
         4731  +	  tmp_addflag=' $pic_flag'
         4732  +	  ;;
         4733  +	pgf77* | pgf90* | pgf95* | pgfortran*)
         4734  +					# Portland Group f77 and f90 compilers
         4735  +	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
         4736  +	  tmp_addflag=' $pic_flag -Mnomain' ;;
         4737  +	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
         4738  +	  tmp_addflag=' -i_dynamic' ;;
         4739  +	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
         4740  +	  tmp_addflag=' -i_dynamic -nofor_main' ;;
         4741  +	ifc* | ifort*)			# Intel Fortran compiler
         4742  +	  tmp_addflag=' -nofor_main' ;;
         4743  +	lf95*)				# Lahey Fortran 8.1
         4744  +	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
         4745  +	  tmp_sharedflag='--shared' ;;
         4746  +	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
         4747  +	  tmp_sharedflag='-qmkshrobj'
         4748  +	  tmp_addflag= ;;
         4749  +	nvcc*)	# Cuda Compiler Driver 2.2
         4750  +	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
         4751  +	  _LT_TAGVAR(compiler_needs_object, $1)=yes
         4752  +	  ;;
         4753  +	esac
         4754  +	case `$CC -V 2>&1 | sed 5q` in
         4755  +	*Sun\ C*)			# Sun C 5.9
         4756  +	  _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; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
         4757  +	  _LT_TAGVAR(compiler_needs_object, $1)=yes
         4758  +	  tmp_sharedflag='-G' ;;
         4759  +	*Sun\ F*)			# Sun Fortran 8.3
         4760  +	  tmp_sharedflag='-G' ;;
         4761  +	esac
         4762  +	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         4763  +
         4764  +        if test "x$supports_anon_versioning" = xyes; then
         4765  +          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
         4766  +	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
         4767  +	    echo "local: *; };" >> $output_objdir/$libname.ver~
         4768  +	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
         4769  +        fi
         4770  +
         4771  +	case $cc_basename in
         4772  +	xlf* | bgf* | bgxlf* | mpixlf*)
         4773  +	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
         4774  +	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
         4775  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
         4776  +	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
         4777  +	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
         4778  +	  if test "x$supports_anon_versioning" = xyes; then
         4779  +	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
         4780  +	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
         4781  +	      echo "local: *; };" >> $output_objdir/$libname.ver~
         4782  +	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
         4783  +	  fi
         4784  +	  ;;
         4785  +	esac
         4786  +      else
         4787  +        _LT_TAGVAR(ld_shlibs, $1)=no
         4788  +      fi
         4789  +      ;;
         4790  +
         4791  +    netbsd*)
         4792  +      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
         4793  +	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
         4794  +	wlarc=
         4795  +      else
         4796  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         4797  +	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
         4798  +      fi
         4799  +      ;;
         4800  +
         4801  +    solaris*)
         4802  +      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
         4803  +	_LT_TAGVAR(ld_shlibs, $1)=no
         4804  +	cat <<_LT_EOF 1>&2
         4805  +
         4806  +*** Warning: The releases 2.8.* of the GNU linker cannot reliably
         4807  +*** create shared libraries on Solaris systems.  Therefore, libtool
         4808  +*** is disabling shared libraries support.  We urge you to upgrade GNU
         4809  +*** binutils to release 2.9.1 or newer.  Another option is to modify
         4810  +*** your PATH or compiler configuration so that the native linker is
         4811  +*** used, and then restart.
         4812  +
         4813  +_LT_EOF
         4814  +      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
         4815  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         4816  +	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
         4817  +      else
         4818  +	_LT_TAGVAR(ld_shlibs, $1)=no
         4819  +      fi
         4820  +      ;;
         4821  +
         4822  +    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
         4823  +      case `$LD -v 2>&1` in
         4824  +        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
         4825  +	_LT_TAGVAR(ld_shlibs, $1)=no
         4826  +	cat <<_LT_EOF 1>&2
         4827  +
         4828  +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
         4829  +*** reliably create shared libraries on SCO systems.  Therefore, libtool
         4830  +*** is disabling shared libraries support.  We urge you to upgrade GNU
         4831  +*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
         4832  +*** your PATH or compiler configuration so that the native linker is
         4833  +*** used, and then restart.
         4834  +
         4835  +_LT_EOF
         4836  +	;;
         4837  +	*)
         4838  +	  # For security reasons, it is highly recommended that you always
         4839  +	  # use absolute paths for naming shared libraries, and exclude the
         4840  +	  # DT_RUNPATH tag from executables and libraries.  But doing so
         4841  +	  # requires that you compile everything twice, which is a pain.
         4842  +	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
         4843  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         4844  +	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         4845  +	    _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'
         4846  +	  else
         4847  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         4848  +	  fi
         4849  +	;;
         4850  +      esac
         4851  +      ;;
         4852  +
         4853  +    sunos4*)
         4854  +      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
         4855  +      wlarc=
         4856  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         4857  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         4858  +      ;;
         4859  +
         4860  +    *)
         4861  +      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
         4862  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         4863  +	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
         4864  +      else
         4865  +	_LT_TAGVAR(ld_shlibs, $1)=no
         4866  +      fi
         4867  +      ;;
         4868  +    esac
         4869  +
         4870  +    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
         4871  +      runpath_var=
         4872  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
         4873  +      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
         4874  +      _LT_TAGVAR(whole_archive_flag_spec, $1)=
         4875  +    fi
         4876  +  else
         4877  +    # PORTME fill in a description of your system's linker (not GNU ld)
         4878  +    case $host_os in
         4879  +    aix3*)
         4880  +      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         4881  +      _LT_TAGVAR(always_export_symbols, $1)=yes
         4882  +      _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'
         4883  +      # Note: this linker hardcodes the directories in LIBPATH if there
         4884  +      # are no directories specified by -L.
         4885  +      _LT_TAGVAR(hardcode_minus_L, $1)=yes
         4886  +      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
         4887  +	# Neither direct hardcoding nor static linking is supported with a
         4888  +	# broken collect2.
         4889  +	_LT_TAGVAR(hardcode_direct, $1)=unsupported
         4890  +      fi
         4891  +      ;;
         4892  +
         4893  +    aix[[4-9]]*)
         4894  +      if test "$host_cpu" = ia64; then
         4895  +	# On IA64, the linker does run time linking by default, so we don't
         4896  +	# have to do anything special.
         4897  +	aix_use_runtimelinking=no
         4898  +	exp_sym_flag='-Bexport'
         4899  +	no_entry_flag=""
         4900  +      else
         4901  +	# If we're using GNU nm, then we don't want the "-C" option.
         4902  +	# -C means demangle to AIX nm, but means don't demangle with GNU nm
         4903  +	# Also, AIX nm treats weak defined symbols like other global
         4904  +	# defined symbols, whereas GNU nm marks them as "W".
         4905  +	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
         4906  +	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
         4907  +	else
         4908  +	  _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'
         4909  +	fi
         4910  +	aix_use_runtimelinking=no
         4911  +
         4912  +	# Test if we are trying to use run time linking or normal
         4913  +	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
         4914  +	# need to do runtime linking.
         4915  +	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
         4916  +	  for ld_flag in $LDFLAGS; do
         4917  +	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
         4918  +	    aix_use_runtimelinking=yes
         4919  +	    break
         4920  +	  fi
         4921  +	  done
         4922  +	  ;;
         4923  +	esac
         4924  +
         4925  +	exp_sym_flag='-bexport'
         4926  +	no_entry_flag='-bnoentry'
         4927  +      fi
         4928  +
         4929  +      # When large executables or shared objects are built, AIX ld can
         4930  +      # have problems creating the table of contents.  If linking a library
         4931  +      # or program results in "error TOC overflow" add -mminimal-toc to
         4932  +      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
         4933  +      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
         4934  +
         4935  +      _LT_TAGVAR(archive_cmds, $1)=''
         4936  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         4937  +      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         4938  +      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
         4939  +      _LT_TAGVAR(link_all_deplibs, $1)=yes
         4940  +      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
         4941  +
         4942  +      if test "$GCC" = yes; then
         4943  +	case $host_os in aix4.[[012]]|aix4.[[012]].*)
         4944  +	# We only want to do this on AIX 4.2 and lower, the check
         4945  +	# below for broken collect2 doesn't work under 4.3+
         4946  +	  collect2name=`${CC} -print-prog-name=collect2`
         4947  +	  if test -f "$collect2name" &&
         4948  +	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
         4949  +	  then
         4950  +	  # We have reworked collect2
         4951  +	  :
         4952  +	  else
         4953  +	  # We have old collect2
         4954  +	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
         4955  +	  # It fails to find uninstalled libraries when the uninstalled
         4956  +	  # path is not listed in the libpath.  Setting hardcode_minus_L
         4957  +	  # to unsupported forces relinking
         4958  +	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
         4959  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         4960  +	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
         4961  +	  fi
         4962  +	  ;;
         4963  +	esac
         4964  +	shared_flag='-shared'
         4965  +	if test "$aix_use_runtimelinking" = yes; then
         4966  +	  shared_flag="$shared_flag "'${wl}-G'
         4967  +	fi
         4968  +      else
         4969  +	# not using gcc
         4970  +	if test "$host_cpu" = ia64; then
         4971  +	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
         4972  +	# chokes on -Wl,-G. The following line is correct:
         4973  +	  shared_flag='-G'
         4974  +	else
         4975  +	  if test "$aix_use_runtimelinking" = yes; then
         4976  +	    shared_flag='${wl}-G'
         4977  +	  else
         4978  +	    shared_flag='${wl}-bM:SRE'
         4979  +	  fi
         4980  +	fi
         4981  +      fi
         4982  +
         4983  +      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
         4984  +      # It seems that -bexpall does not export symbols beginning with
         4985  +      # underscore (_), so it is better to generate a list of symbols to export.
         4986  +      _LT_TAGVAR(always_export_symbols, $1)=yes
         4987  +      if test "$aix_use_runtimelinking" = yes; then
         4988  +	# Warning - without using the other runtime loading flags (-brtl),
         4989  +	# -berok will link without error, but may produce a broken library.
         4990  +	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
         4991  +        # Determine the default libpath from the value encoded in an
         4992  +        # empty executable.
         4993  +        _LT_SYS_MODULE_PATH_AIX([$1])
         4994  +        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
         4995  +        _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 func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
         4996  +      else
         4997  +	if test "$host_cpu" = ia64; then
         4998  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
         4999  +	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
         5000  +	  _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"
         5001  +	else
         5002  +	 # Determine the default libpath from the value encoded in an
         5003  +	 # empty executable.
         5004  +	 _LT_SYS_MODULE_PATH_AIX([$1])
         5005  +	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
         5006  +	  # Warning - without using the other run time loading flags,
         5007  +	  # -berok will link without error, but may produce a broken library.
         5008  +	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
         5009  +	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
         5010  +	  if test "$with_gnu_ld" = yes; then
         5011  +	    # We only use this code for GNU lds that support --whole-archive.
         5012  +	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
         5013  +	  else
         5014  +	    # Exported symbols can be pulled into shared objects from archives
         5015  +	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
         5016  +	  fi
         5017  +	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
         5018  +	  # This is similar to how AIX traditionally builds its shared libraries.
         5019  +	  _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'
         5020  +	fi
         5021  +      fi
         5022  +      ;;
         5023  +
         5024  +    amigaos*)
         5025  +      case $host_cpu in
         5026  +      powerpc)
         5027  +            # see comment about AmigaOS4 .so support
         5028  +            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         5029  +            _LT_TAGVAR(archive_expsym_cmds, $1)=''
         5030  +        ;;
         5031  +      m68k)
         5032  +            _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)'
         5033  +            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         5034  +            _LT_TAGVAR(hardcode_minus_L, $1)=yes
         5035  +        ;;
         5036  +      esac
         5037  +      ;;
         5038  +
         5039  +    bsdi[[45]]*)
         5040  +      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
         5041  +      ;;
         5042  +
         5043  +    cygwin* | mingw* | pw32* | cegcc*)
         5044  +      # When not using gcc, we currently assume that we are using
         5045  +      # Microsoft Visual C++.
         5046  +      # hardcode_libdir_flag_spec is actually meaningless, as there is
         5047  +      # no search path for DLLs.
         5048  +      case $cc_basename in
         5049  +      cl*)
         5050  +	# Native MSVC
         5051  +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
         5052  +	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         5053  +	_LT_TAGVAR(always_export_symbols, $1)=yes
         5054  +	_LT_TAGVAR(file_list_spec, $1)='@'
         5055  +	# Tell ltmain to make .lib files, not .a files.
         5056  +	libext=lib
         5057  +	# Tell ltmain to make .dll files, not .so files.
         5058  +	shrext_cmds=".dll"
         5059  +	# FIXME: Setting linknames here is a bad hack.
         5060  +	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
         5061  +	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
         5062  +	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
         5063  +	  else
         5064  +	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
         5065  +	  fi~
         5066  +	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
         5067  +	  linknames='
         5068  +	# The linker will not automatically build a static lib if we build a DLL.
         5069  +	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
         5070  +	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
         5071  +	_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'
         5072  +	# Don't use ranlib
         5073  +	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
         5074  +	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
         5075  +	  lt_tool_outputfile="@TOOL_OUTPUT@"~
         5076  +	  case $lt_outputfile in
         5077  +	    *.exe|*.EXE) ;;
         5078  +	    *)
         5079  +	      lt_outputfile="$lt_outputfile.exe"
         5080  +	      lt_tool_outputfile="$lt_tool_outputfile.exe"
         5081  +	      ;;
         5082  +	  esac~
         5083  +	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
         5084  +	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
         5085  +	    $RM "$lt_outputfile.manifest";
         5086  +	  fi'
         5087  +	;;
         5088  +      *)
         5089  +	# Assume MSVC wrapper
         5090  +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
         5091  +	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         5092  +	# Tell ltmain to make .lib files, not .a files.
         5093  +	libext=lib
         5094  +	# Tell ltmain to make .dll files, not .so files.
         5095  +	shrext_cmds=".dll"
         5096  +	# FIXME: Setting linknames here is a bad hack.
         5097  +	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
         5098  +	# The linker will automatically build a .lib file if we build a DLL.
         5099  +	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
         5100  +	# FIXME: Should let the user specify the lib program.
         5101  +	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
         5102  +	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
         5103  +	;;
         5104  +      esac
         5105  +      ;;
         5106  +
         5107  +    darwin* | rhapsody*)
         5108  +      _LT_DARWIN_LINKER_FEATURES($1)
         5109  +      ;;
         5110  +
         5111  +    dgux*)
         5112  +      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         5113  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         5114  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5115  +      ;;
         5116  +
         5117  +    freebsd1*)
         5118  +      _LT_TAGVAR(ld_shlibs, $1)=no
         5119  +      ;;
         5120  +
         5121  +    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
         5122  +    # support.  Future versions do this automatically, but an explicit c++rt0.o
         5123  +    # does not break anything, and helps significantly (at the cost of a little
         5124  +    # extra space).
         5125  +    freebsd2.2*)
         5126  +      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
         5127  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         5128  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         5129  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5130  +      ;;
         5131  +
         5132  +    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
         5133  +    freebsd2*)
         5134  +      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
         5135  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         5136  +      _LT_TAGVAR(hardcode_minus_L, $1)=yes
         5137  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5138  +      ;;
         5139  +
         5140  +    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
         5141  +    freebsd* | dragonfly*)
         5142  +      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
         5143  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         5144  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         5145  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5146  +      ;;
         5147  +
         5148  +    hpux9*)
         5149  +      if test "$GCC" = yes; then
         5150  +	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
         5151  +      else
         5152  +	_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'
         5153  +      fi
         5154  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         5155  +      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         5156  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         5157  +
         5158  +      # hardcode_minus_L: Not really in the search PATH,
         5159  +      # but as the default location of the library.
         5160  +      _LT_TAGVAR(hardcode_minus_L, $1)=yes
         5161  +      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         5162  +      ;;
         5163  +
         5164  +    hpux10*)
         5165  +      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
         5166  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
         5167  +      else
         5168  +	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
         5169  +      fi
         5170  +      if test "$with_gnu_ld" = no; then
         5171  +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         5172  +	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
         5173  +	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
         5174  +	_LT_TAGVAR(hardcode_direct, $1)=yes
         5175  +	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         5176  +	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         5177  +	# hardcode_minus_L: Not really in the search PATH,
         5178  +	# but as the default location of the library.
         5179  +	_LT_TAGVAR(hardcode_minus_L, $1)=yes
         5180  +      fi
         5181  +      ;;
         5182  +
         5183  +    hpux11*)
         5184  +      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
         5185  +	case $host_cpu in
         5186  +	hppa*64*)
         5187  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
         5188  +	  ;;
         5189  +	ia64*)
         5190  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
         5191  +	  ;;
         5192  +	*)
         5193  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
         5194  +	  ;;
         5195  +	esac
         5196  +      else
         5197  +	case $host_cpu in
         5198  +	hppa*64*)
         5199  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
         5200  +	  ;;
         5201  +	ia64*)
         5202  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
         5203  +	  ;;
         5204  +	*)
         5205  +	m4_if($1, [], [
         5206  +	  # Older versions of the 11.00 compiler do not understand -b yet
         5207  +	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
         5208  +	  _LT_LINKER_OPTION([if $CC understands -b],
         5209  +	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
         5210  +	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
         5211  +	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
         5212  +	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
         5213  +	  ;;
         5214  +	esac
         5215  +      fi
         5216  +      if test "$with_gnu_ld" = no; then
         5217  +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         5218  +	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
         5219  +
         5220  +	case $host_cpu in
         5221  +	hppa*64*|ia64*)
         5222  +	  _LT_TAGVAR(hardcode_direct, $1)=no
         5223  +	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5224  +	  ;;
         5225  +	*)
         5226  +	  _LT_TAGVAR(hardcode_direct, $1)=yes
         5227  +	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         5228  +	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         5229  +
         5230  +	  # hardcode_minus_L: Not really in the search PATH,
         5231  +	  # but as the default location of the library.
         5232  +	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
         5233  +	  ;;
         5234  +	esac
         5235  +      fi
         5236  +      ;;
         5237  +
         5238  +    irix5* | irix6* | nonstopux*)
         5239  +      if test "$GCC" = yes; then
         5240  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
         5241  +	# Try to use the -exported_symbol ld option, if it does not
         5242  +	# work, assume that -exports_file does not work either and
         5243  +	# implicitly export all symbols.
         5244  +	# This should be the same for all languages, so no per-tag cache variable.
         5245  +	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
         5246  +	  [lt_cv_irix_exported_symbol],
         5247  +	  [save_LDFLAGS="$LDFLAGS"
         5248  +	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
         5249  +	   AC_LINK_IFELSE(
         5250  +	     [AC_LANG_SOURCE(
         5251  +	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
         5252  +			      [C++], [[int foo (void) { return 0; }]],
         5253  +			      [Fortran 77], [[
         5254  +      subroutine foo
         5255  +      end]],
         5256  +			      [Fortran], [[
         5257  +      subroutine foo
         5258  +      end]])])],
         5259  +	      [lt_cv_irix_exported_symbol=yes],
         5260  +	      [lt_cv_irix_exported_symbol=no])
         5261  +           LDFLAGS="$save_LDFLAGS"])
         5262  +	if test "$lt_cv_irix_exported_symbol" = yes; then
         5263  +          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
         5264  +	fi
         5265  +      else
         5266  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
         5267  +	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
         5268  +      fi
         5269  +      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
         5270  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         5271  +      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         5272  +      _LT_TAGVAR(inherit_rpath, $1)=yes
         5273  +      _LT_TAGVAR(link_all_deplibs, $1)=yes
         5274  +      ;;
         5275  +
         5276  +    netbsd*)
         5277  +      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
         5278  +	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
         5279  +      else
         5280  +	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
         5281  +      fi
         5282  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         5283  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         5284  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5285  +      ;;
         5286  +
         5287  +    newsos6)
         5288  +      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         5289  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         5290  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         5291  +      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         5292  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5293  +      ;;
         5294  +
         5295  +    *nto* | *qnx*)
         5296  +      ;;
         5297  +
         5298  +    openbsd*)
         5299  +      if test -f /usr/libexec/ld.so; then
         5300  +	_LT_TAGVAR(hardcode_direct, $1)=yes
         5301  +	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5302  +	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         5303  +	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
         5304  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
         5305  +	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
         5306  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
         5307  +	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         5308  +	else
         5309  +	  case $host_os in
         5310  +	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
         5311  +	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
         5312  +	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         5313  +	     ;;
         5314  +	   *)
         5315  +	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
         5316  +	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
         5317  +	     ;;
         5318  +	  esac
         5319  +	fi
         5320  +      else
         5321  +	_LT_TAGVAR(ld_shlibs, $1)=no
         5322  +      fi
         5323  +      ;;
         5324  +
         5325  +    os2*)
         5326  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         5327  +      _LT_TAGVAR(hardcode_minus_L, $1)=yes
         5328  +      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         5329  +      _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'
         5330  +      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
         5331  +      ;;
         5332  +
         5333  +    osf3*)
         5334  +      if test "$GCC" = yes; then
         5335  +	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
         5336  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
         5337  +      else
         5338  +	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
         5339  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
         5340  +      fi
         5341  +      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
         5342  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         5343  +      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         5344  +      ;;
         5345  +
         5346  +    osf4* | osf5*)	# as osf3* with the addition of -msym flag
         5347  +      if test "$GCC" = yes; then
         5348  +	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
         5349  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
         5350  +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         5351  +      else
         5352  +	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
         5353  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
         5354  +	_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~
         5355  +	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
         5356  +
         5357  +	# Both c and cxx compiler support -rpath directly
         5358  +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
         5359  +      fi
         5360  +      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
         5361  +      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         5362  +      ;;
         5363  +
         5364  +    solaris*)
         5365  +      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
         5366  +      if test "$GCC" = yes; then
         5367  +	wlarc='${wl}'
         5368  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
         5369  +	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
         5370  +	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
         5371  +      else
         5372  +	case `$CC -V 2>&1` in
         5373  +	*"Compilers 5.0"*)
         5374  +	  wlarc=''
         5375  +	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
         5376  +	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
         5377  +	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
         5378  +	  ;;
         5379  +	*)
         5380  +	  wlarc='${wl}'
         5381  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
         5382  +	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
         5383  +	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
         5384  +	  ;;
         5385  +	esac
         5386  +      fi
         5387  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         5388  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5389  +      case $host_os in
         5390  +      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
         5391  +      *)
         5392  +	# The compiler driver will combine and reorder linker options,
         5393  +	# but understands `-z linker_flag'.  GCC discards it without `$wl',
         5394  +	# but is careful enough not to reorder.
         5395  +	# Supported since Solaris 2.6 (maybe 2.5.1?)
         5396  +	if test "$GCC" = yes; then
         5397  +	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
         5398  +	else
         5399  +	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
         5400  +	fi
         5401  +	;;
         5402  +      esac
         5403  +      _LT_TAGVAR(link_all_deplibs, $1)=yes
         5404  +      ;;
         5405  +
         5406  +    sunos4*)
         5407  +      if test "x$host_vendor" = xsequent; then
         5408  +	# Use $CC to link under sequent, because it throws in some extra .o
         5409  +	# files that make .init and .fini sections work.
         5410  +	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
         5411  +      else
         5412  +	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
         5413  +      fi
         5414  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         5415  +      _LT_TAGVAR(hardcode_direct, $1)=yes
         5416  +      _LT_TAGVAR(hardcode_minus_L, $1)=yes
         5417  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5418  +      ;;
         5419  +
         5420  +    sysv4)
         5421  +      case $host_vendor in
         5422  +	sni)
         5423  +	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         5424  +	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
         5425  +	;;
         5426  +	siemens)
         5427  +	  ## LD is ld it makes a PLAMLIB
         5428  +	  ## CC just makes a GrossModule.
         5429  +	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
         5430  +	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
         5431  +	  _LT_TAGVAR(hardcode_direct, $1)=no
         5432  +        ;;
         5433  +	motorola)
         5434  +	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         5435  +	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
         5436  +	;;
         5437  +      esac
         5438  +      runpath_var='LD_RUN_PATH'
         5439  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5440  +      ;;
         5441  +
         5442  +    sysv4.3*)
         5443  +      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         5444  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5445  +      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
         5446  +      ;;
         5447  +
         5448  +    sysv4*MP*)
         5449  +      if test -d /usr/nec; then
         5450  +	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         5451  +	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5452  +	runpath_var=LD_RUN_PATH
         5453  +	hardcode_runpath_var=yes
         5454  +	_LT_TAGVAR(ld_shlibs, $1)=yes
         5455  +      fi
         5456  +      ;;
         5457  +
         5458  +    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
         5459  +      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
         5460  +      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
         5461  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5462  +      runpath_var='LD_RUN_PATH'
         5463  +
         5464  +      if test "$GCC" = yes; then
         5465  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         5466  +	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         5467  +      else
         5468  +	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         5469  +	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         5470  +      fi
         5471  +      ;;
         5472  +
         5473  +    sysv5* | sco3.2v5* | sco5v6*)
         5474  +      # Note: We can NOT use -z defs as we might desire, because we do not
         5475  +      # link with -lc, and that would cause any symbols used from libc to
         5476  +      # always be unresolved, which means just about no library would
         5477  +      # ever link correctly.  If we're not using GNU ld we use -z text
         5478  +      # though, which does catch some bad symbols but isn't as heavy-handed
         5479  +      # as -z defs.
         5480  +      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
         5481  +      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
         5482  +      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
         5483  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5484  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
         5485  +      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
         5486  +      _LT_TAGVAR(link_all_deplibs, $1)=yes
         5487  +      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
         5488  +      runpath_var='LD_RUN_PATH'
         5489  +
         5490  +      if test "$GCC" = yes; then
         5491  +	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         5492  +	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         5493  +      else
         5494  +	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         5495  +	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         5496  +      fi
         5497  +      ;;
         5498  +
         5499  +    uts4*)
         5500  +      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
         5501  +      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         5502  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         5503  +      ;;
         5504  +
         5505  +    *)
         5506  +      _LT_TAGVAR(ld_shlibs, $1)=no
         5507  +      ;;
         5508  +    esac
         5509  +
         5510  +    if test x$host_vendor = xsni; then
         5511  +      case $host in
         5512  +      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
         5513  +	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
         5514  +	;;
         5515  +      esac
         5516  +    fi
         5517  +  fi
         5518  +])
         5519  +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
         5520  +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
         5521  +
         5522  +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
         5523  +
         5524  +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
         5525  +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
         5526  +_LT_DECL([], [extract_expsyms_cmds], [2],
         5527  +    [The commands to extract the exported symbol list from a shared archive])
         5528  +
         5529  +#
         5530  +# Do we need to explicitly link libc?
         5531  +#
         5532  +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
         5533  +x|xyes)
         5534  +  # Assume -lc should be added
         5535  +  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
         5536  +
         5537  +  if test "$enable_shared" = yes && test "$GCC" = yes; then
         5538  +    case $_LT_TAGVAR(archive_cmds, $1) in
         5539  +    *'~'*)
         5540  +      # FIXME: we may have to deal with multi-command sequences.
         5541  +      ;;
         5542  +    '$CC '*)
         5543  +      # Test whether the compiler implicitly links with -lc since on some
         5544  +      # systems, -lgcc has to come before -lc. If gcc already passes -lc
         5545  +      # to ld, don't add -lc before -lgcc.
         5546  +      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
         5547  +	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
         5548  +	[$RM conftest*
         5549  +	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
         5550  +
         5551  +	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
         5552  +	  soname=conftest
         5553  +	  lib=conftest
         5554  +	  libobjs=conftest.$ac_objext
         5555  +	  deplibs=
         5556  +	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
         5557  +	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
         5558  +	  compiler_flags=-v
         5559  +	  linker_flags=-v
         5560  +	  verstring=
         5561  +	  output_objdir=.
         5562  +	  libname=conftest
         5563  +	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
         5564  +	  _LT_TAGVAR(allow_undefined_flag, $1)=
         5565  +	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
         5566  +	  then
         5567  +	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
         5568  +	  else
         5569  +	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
         5570  +	  fi
         5571  +	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
         5572  +	else
         5573  +	  cat conftest.err 1>&5
         5574  +	fi
         5575  +	$RM conftest*
         5576  +	])
         5577  +      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
         5578  +      ;;
         5579  +    esac
         5580  +  fi
         5581  +  ;;
         5582  +esac
         5583  +
         5584  +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
         5585  +    [Whether or not to add -lc for building shared libraries])
         5586  +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
         5587  +    [enable_shared_with_static_runtimes], [0],
         5588  +    [Whether or not to disallow shared libs when runtime libs are static])
         5589  +_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
         5590  +    [Compiler flag to allow reflexive dlopens])
         5591  +_LT_TAGDECL([], [whole_archive_flag_spec], [1],
         5592  +    [Compiler flag to generate shared objects directly from archives])
         5593  +_LT_TAGDECL([], [compiler_needs_object], [1],
         5594  +    [Whether the compiler copes with passing no objects directly])
         5595  +_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
         5596  +    [Create an old-style archive from a shared archive])
         5597  +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
         5598  +    [Create a temporary old-style archive to link instead of a shared archive])
         5599  +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
         5600  +_LT_TAGDECL([], [archive_expsym_cmds], [2])
         5601  +_LT_TAGDECL([], [module_cmds], [2],
         5602  +    [Commands used to build a loadable module if different from building
         5603  +    a shared archive.])
         5604  +_LT_TAGDECL([], [module_expsym_cmds], [2])
         5605  +_LT_TAGDECL([], [with_gnu_ld], [1],
         5606  +    [Whether we are building with GNU ld or not])
         5607  +_LT_TAGDECL([], [allow_undefined_flag], [1],
         5608  +    [Flag that allows shared libraries with undefined symbols to be built])
         5609  +_LT_TAGDECL([], [no_undefined_flag], [1],
         5610  +    [Flag that enforces no undefined symbols])
         5611  +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
         5612  +    [Flag to hardcode $libdir into a binary during linking.
         5613  +    This must work even if $libdir does not exist])
         5614  +_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
         5615  +    [[If ld is used when linking, flag to hardcode $libdir into a binary
         5616  +    during linking.  This must work even if $libdir does not exist]])
         5617  +_LT_TAGDECL([], [hardcode_libdir_separator], [1],
         5618  +    [Whether we need a single "-rpath" flag with a separated argument])
         5619  +_LT_TAGDECL([], [hardcode_direct], [0],
         5620  +    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
         5621  +    DIR into the resulting binary])
         5622  +_LT_TAGDECL([], [hardcode_direct_absolute], [0],
         5623  +    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
         5624  +    DIR into the resulting binary and the resulting library dependency is
         5625  +    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
         5626  +    library is relocated])
         5627  +_LT_TAGDECL([], [hardcode_minus_L], [0],
         5628  +    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
         5629  +    into the resulting binary])
         5630  +_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
         5631  +    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
         5632  +    into the resulting binary])
         5633  +_LT_TAGDECL([], [hardcode_automatic], [0],
         5634  +    [Set to "yes" if building a shared library automatically hardcodes DIR
         5635  +    into the library and all subsequent libraries and executables linked
         5636  +    against it])
         5637  +_LT_TAGDECL([], [inherit_rpath], [0],
         5638  +    [Set to yes if linker adds runtime paths of dependent libraries
         5639  +    to runtime path list])
         5640  +_LT_TAGDECL([], [link_all_deplibs], [0],
         5641  +    [Whether libtool must link a program against all its dependency libraries])
         5642  +_LT_TAGDECL([], [always_export_symbols], [0],
         5643  +    [Set to "yes" if exported symbols are required])
         5644  +_LT_TAGDECL([], [export_symbols_cmds], [2],
         5645  +    [The commands to list exported symbols])
         5646  +_LT_TAGDECL([], [exclude_expsyms], [1],
         5647  +    [Symbols that should not be listed in the preloaded symbols])
         5648  +_LT_TAGDECL([], [include_expsyms], [1],
         5649  +    [Symbols that must always be exported])
         5650  +_LT_TAGDECL([], [prelink_cmds], [2],
         5651  +    [Commands necessary for linking programs (against libraries) with templates])
         5652  +_LT_TAGDECL([], [postlink_cmds], [2],
         5653  +    [Commands necessary for finishing linking programs])
         5654  +_LT_TAGDECL([], [file_list_spec], [1],
         5655  +    [Specify filename containing input files])
         5656  +dnl FIXME: Not yet implemented
         5657  +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
         5658  +dnl    [Compiler flag to generate thread safe objects])
         5659  +])# _LT_LINKER_SHLIBS
         5660  +
         5661  +
         5662  +# _LT_LANG_C_CONFIG([TAG])
         5663  +# ------------------------
         5664  +# Ensure that the configuration variables for a C compiler are suitably
         5665  +# defined.  These variables are subsequently used by _LT_CONFIG to write
         5666  +# the compiler configuration to `libtool'.
         5667  +m4_defun([_LT_LANG_C_CONFIG],
         5668  +[m4_require([_LT_DECL_EGREP])dnl
         5669  +lt_save_CC="$CC"
         5670  +AC_LANG_PUSH(C)
         5671  +
         5672  +# Source file extension for C test sources.
         5673  +ac_ext=c
         5674  +
         5675  +# Object file extension for compiled C test sources.
         5676  +objext=o
         5677  +_LT_TAGVAR(objext, $1)=$objext
         5678  +
         5679  +# Code to be used in simple compile tests
         5680  +lt_simple_compile_test_code="int some_variable = 0;"
         5681  +
         5682  +# Code to be used in simple link tests
         5683  +lt_simple_link_test_code='int main(){return(0);}'
         5684  +
         5685  +_LT_TAG_COMPILER
         5686  +# Save the default compiler, since it gets overwritten when the other
         5687  +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
         5688  +compiler_DEFAULT=$CC
         5689  +
         5690  +# save warnings/boilerplate of simple test code
         5691  +_LT_COMPILER_BOILERPLATE
         5692  +_LT_LINKER_BOILERPLATE
         5693  +
         5694  +## CAVEAT EMPTOR:
         5695  +## There is no encapsulation within the following macros, do not change
         5696  +## the running order or otherwise move them around unless you know exactly
         5697  +## what you are doing...
         5698  +if test -n "$compiler"; then
         5699  +  _LT_COMPILER_NO_RTTI($1)
         5700  +  _LT_COMPILER_PIC($1)
         5701  +  _LT_COMPILER_C_O($1)
         5702  +  _LT_COMPILER_FILE_LOCKS($1)
         5703  +  _LT_LINKER_SHLIBS($1)
         5704  +  _LT_SYS_DYNAMIC_LINKER($1)
         5705  +  _LT_LINKER_HARDCODE_LIBPATH($1)
         5706  +  LT_SYS_DLOPEN_SELF
         5707  +  _LT_CMD_STRIPLIB
         5708  +
         5709  +  # Report which library types will actually be built
         5710  +  AC_MSG_CHECKING([if libtool supports shared libraries])
         5711  +  AC_MSG_RESULT([$can_build_shared])
         5712  +
         5713  +  AC_MSG_CHECKING([whether to build shared libraries])
         5714  +  test "$can_build_shared" = "no" && enable_shared=no
         5715  +
         5716  +  # On AIX, shared libraries and static libraries use the same namespace, and
         5717  +  # are all built from PIC.
         5718  +  case $host_os in
         5719  +  aix3*)
         5720  +    test "$enable_shared" = yes && enable_static=no
         5721  +    if test -n "$RANLIB"; then
         5722  +      archive_cmds="$archive_cmds~\$RANLIB \$lib"
         5723  +      postinstall_cmds='$RANLIB $lib'
         5724  +    fi
         5725  +    ;;
         5726  +
         5727  +  aix[[4-9]]*)
         5728  +    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
         5729  +      test "$enable_shared" = yes && enable_static=no
         5730  +    fi
         5731  +    ;;
         5732  +  esac
         5733  +  AC_MSG_RESULT([$enable_shared])
         5734  +
         5735  +  AC_MSG_CHECKING([whether to build static libraries])
         5736  +  # Make sure either enable_shared or enable_static is yes.
         5737  +  test "$enable_shared" = yes || enable_static=yes
         5738  +  AC_MSG_RESULT([$enable_static])
         5739  +
         5740  +  _LT_CONFIG($1)
         5741  +fi
         5742  +AC_LANG_POP
         5743  +CC="$lt_save_CC"
         5744  +])# _LT_LANG_C_CONFIG
         5745  +
         5746  +
         5747  +# _LT_LANG_CXX_CONFIG([TAG])
         5748  +# --------------------------
         5749  +# Ensure that the configuration variables for a C++ compiler are suitably
         5750  +# defined.  These variables are subsequently used by _LT_CONFIG to write
         5751  +# the compiler configuration to `libtool'.
         5752  +m4_defun([_LT_LANG_CXX_CONFIG],
         5753  +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
         5754  +m4_require([_LT_DECL_EGREP])dnl
         5755  +m4_require([_LT_PATH_MANIFEST_TOOL])dnl
         5756  +if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
         5757  +    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
         5758  +    (test "X$CXX" != "Xg++"))) ; then
         5759  +  AC_PROG_CXXCPP
         5760  +else
         5761  +  _lt_caught_CXX_error=yes
         5762  +fi
         5763  +
         5764  +AC_LANG_PUSH(C++)
         5765  +_LT_TAGVAR(archive_cmds_need_lc, $1)=no
         5766  +_LT_TAGVAR(allow_undefined_flag, $1)=
         5767  +_LT_TAGVAR(always_export_symbols, $1)=no
         5768  +_LT_TAGVAR(archive_expsym_cmds, $1)=
         5769  +_LT_TAGVAR(compiler_needs_object, $1)=no
         5770  +_LT_TAGVAR(export_dynamic_flag_spec, $1)=
         5771  +_LT_TAGVAR(hardcode_direct, $1)=no
         5772  +_LT_TAGVAR(hardcode_direct_absolute, $1)=no
         5773  +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
         5774  +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
         5775  +_LT_TAGVAR(hardcode_libdir_separator, $1)=
         5776  +_LT_TAGVAR(hardcode_minus_L, $1)=no
         5777  +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
         5778  +_LT_TAGVAR(hardcode_automatic, $1)=no
         5779  +_LT_TAGVAR(inherit_rpath, $1)=no
         5780  +_LT_TAGVAR(module_cmds, $1)=
         5781  +_LT_TAGVAR(module_expsym_cmds, $1)=
         5782  +_LT_TAGVAR(link_all_deplibs, $1)=unknown
         5783  +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
         5784  +_LT_TAGVAR(reload_flag, $1)=$reload_flag
         5785  +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
         5786  +_LT_TAGVAR(no_undefined_flag, $1)=
         5787  +_LT_TAGVAR(whole_archive_flag_spec, $1)=
         5788  +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
         5789  +
         5790  +# Source file extension for C++ test sources.
         5791  +ac_ext=cpp
         5792  +
         5793  +# Object file extension for compiled C++ test sources.
         5794  +objext=o
         5795  +_LT_TAGVAR(objext, $1)=$objext
         5796  +
         5797  +# No sense in running all these tests if we already determined that
         5798  +# the CXX compiler isn't working.  Some variables (like enable_shared)
         5799  +# are currently assumed to apply to all compilers on this platform,
         5800  +# and will be corrupted by setting them based on a non-working compiler.
         5801  +if test "$_lt_caught_CXX_error" != yes; then
         5802  +  # Code to be used in simple compile tests
         5803  +  lt_simple_compile_test_code="int some_variable = 0;"
         5804  +
         5805  +  # Code to be used in simple link tests
         5806  +  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
         5807  +
         5808  +  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
         5809  +  _LT_TAG_COMPILER
         5810  +
         5811  +  # save warnings/boilerplate of simple test code
         5812  +  _LT_COMPILER_BOILERPLATE
         5813  +  _LT_LINKER_BOILERPLATE
         5814  +
         5815  +  # Allow CC to be a program name with arguments.
         5816  +  lt_save_CC=$CC
         5817  +  lt_save_CFLAGS=$CFLAGS
         5818  +  lt_save_LD=$LD
         5819  +  lt_save_GCC=$GCC
         5820  +  GCC=$GXX
         5821  +  lt_save_with_gnu_ld=$with_gnu_ld
         5822  +  lt_save_path_LD=$lt_cv_path_LD
         5823  +  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
         5824  +    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
         5825  +  else
         5826  +    $as_unset lt_cv_prog_gnu_ld
         5827  +  fi
         5828  +  if test -n "${lt_cv_path_LDCXX+set}"; then
         5829  +    lt_cv_path_LD=$lt_cv_path_LDCXX
         5830  +  else
         5831  +    $as_unset lt_cv_path_LD
         5832  +  fi
         5833  +  test -z "${LDCXX+set}" || LD=$LDCXX
         5834  +  CC=${CXX-"c++"}
         5835  +  CFLAGS=$CXXFLAGS
         5836  +  compiler=$CC
         5837  +  _LT_TAGVAR(compiler, $1)=$CC
         5838  +  _LT_CC_BASENAME([$compiler])
         5839  +
         5840  +  if test -n "$compiler"; then
         5841  +    # We don't want -fno-exception when compiling C++ code, so set the
         5842  +    # no_builtin_flag separately
         5843  +    if test "$GXX" = yes; then
         5844  +      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
         5845  +    else
         5846  +      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
         5847  +    fi
         5848  +
         5849  +    if test "$GXX" = yes; then
         5850  +      # Set up default GNU C++ configuration
         5851  +
         5852  +      LT_PATH_LD
         5853  +
         5854  +      # Check if GNU C++ uses GNU ld as the underlying linker, since the
         5855  +      # archiving commands below assume that GNU ld is being used.
         5856  +      if test "$with_gnu_ld" = yes; then
         5857  +        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
         5858  +        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
         5859  +
         5860  +        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         5861  +        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
         5862  +
         5863  +        # If archive_cmds runs LD, not CC, wlarc should be empty
         5864  +        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
         5865  +        #     investigate it a little bit more. (MM)
         5866  +        wlarc='${wl}'
         5867  +
         5868  +        # ancient GNU ld didn't support --whole-archive et. al.
         5869  +        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
         5870  +	  $GREP 'no-whole-archive' > /dev/null; then
         5871  +          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
         5872  +        else
         5873  +          _LT_TAGVAR(whole_archive_flag_spec, $1)=
         5874  +        fi
         5875  +      else
         5876  +        with_gnu_ld=no
         5877  +        wlarc=
         5878  +
         5879  +        # A generic and very simple default shared library creation
         5880  +        # command for GNU C++ for the case where it uses the native
         5881  +        # linker, instead of GNU ld.  If possible, this setting should
         5882  +        # overridden to take advantage of the native linker features on
         5883  +        # the platform it is being used on.
         5884  +        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
         5885  +      fi
         5886  +
         5887  +      # Commands to make compiler produce verbose output that lists
         5888  +      # what "hidden" libraries, object files and flags are used when
         5889  +      # linking a shared library.
         5890  +      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
         5891  +
         5892  +    else
         5893  +      GXX=no
         5894  +      with_gnu_ld=no
         5895  +      wlarc=
         5896  +    fi
         5897  +
         5898  +    # PORTME: fill in a description of your system's C++ link characteristics
         5899  +    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
         5900  +    _LT_TAGVAR(ld_shlibs, $1)=yes
         5901  +    case $host_os in
         5902  +      aix3*)
         5903  +        # FIXME: insert proper C++ library support
         5904  +        _LT_TAGVAR(ld_shlibs, $1)=no
         5905  +        ;;
         5906  +      aix[[4-9]]*)
         5907  +        if test "$host_cpu" = ia64; then
         5908  +          # On IA64, the linker does run time linking by default, so we don't
         5909  +          # have to do anything special.
         5910  +          aix_use_runtimelinking=no
         5911  +          exp_sym_flag='-Bexport'
         5912  +          no_entry_flag=""
         5913  +        else
         5914  +          aix_use_runtimelinking=no
         5915  +
         5916  +          # Test if we are trying to use run time linking or normal
         5917  +          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
         5918  +          # need to do runtime linking.
         5919  +          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
         5920  +	    for ld_flag in $LDFLAGS; do
         5921  +	      case $ld_flag in
         5922  +	      *-brtl*)
         5923  +	        aix_use_runtimelinking=yes
         5924  +	        break
         5925  +	        ;;
         5926  +	      esac
         5927  +	    done
         5928  +	    ;;
         5929  +          esac
         5930  +
         5931  +          exp_sym_flag='-bexport'
         5932  +          no_entry_flag='-bnoentry'
         5933  +        fi
         5934  +
         5935  +        # When large executables or shared objects are built, AIX ld can
         5936  +        # have problems creating the table of contents.  If linking a library
         5937  +        # or program results in "error TOC overflow" add -mminimal-toc to
         5938  +        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
         5939  +        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
         5940  +
         5941  +        _LT_TAGVAR(archive_cmds, $1)=''
         5942  +        _LT_TAGVAR(hardcode_direct, $1)=yes
         5943  +        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         5944  +        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
         5945  +        _LT_TAGVAR(link_all_deplibs, $1)=yes
         5946  +        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
         5947  +
         5948  +        if test "$GXX" = yes; then
         5949  +          case $host_os in aix4.[[012]]|aix4.[[012]].*)
         5950  +          # We only want to do this on AIX 4.2 and lower, the check
         5951  +          # below for broken collect2 doesn't work under 4.3+
         5952  +	  collect2name=`${CC} -print-prog-name=collect2`
         5953  +	  if test -f "$collect2name" &&
         5954  +	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
         5955  +	  then
         5956  +	    # We have reworked collect2
         5957  +	    :
         5958  +	  else
         5959  +	    # We have old collect2
         5960  +	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
         5961  +	    # It fails to find uninstalled libraries when the uninstalled
         5962  +	    # path is not listed in the libpath.  Setting hardcode_minus_L
         5963  +	    # to unsupported forces relinking
         5964  +	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
         5965  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         5966  +	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
         5967  +	  fi
         5968  +          esac
         5969  +          shared_flag='-shared'
         5970  +	  if test "$aix_use_runtimelinking" = yes; then
         5971  +	    shared_flag="$shared_flag "'${wl}-G'
         5972  +	  fi
         5973  +        else
         5974  +          # not using gcc
         5975  +          if test "$host_cpu" = ia64; then
         5976  +	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
         5977  +	  # chokes on -Wl,-G. The following line is correct:
         5978  +	  shared_flag='-G'
         5979  +          else
         5980  +	    if test "$aix_use_runtimelinking" = yes; then
         5981  +	      shared_flag='${wl}-G'
         5982  +	    else
         5983  +	      shared_flag='${wl}-bM:SRE'
         5984  +	    fi
         5985  +          fi
         5986  +        fi
         5987  +
         5988  +        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
         5989  +        # It seems that -bexpall does not export symbols beginning with
         5990  +        # underscore (_), so it is better to generate a list of symbols to
         5991  +	# export.
         5992  +        _LT_TAGVAR(always_export_symbols, $1)=yes
         5993  +        if test "$aix_use_runtimelinking" = yes; then
         5994  +          # Warning - without using the other runtime loading flags (-brtl),
         5995  +          # -berok will link without error, but may produce a broken library.
         5996  +          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
         5997  +          # Determine the default libpath from the value encoded in an empty
         5998  +          # executable.
         5999  +          _LT_SYS_MODULE_PATH_AIX([$1])
         6000  +          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
         6001  +
         6002  +          _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 func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
         6003  +        else
         6004  +          if test "$host_cpu" = ia64; then
         6005  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
         6006  +	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
         6007  +	    _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"
         6008  +          else
         6009  +	    # Determine the default libpath from the value encoded in an
         6010  +	    # empty executable.
         6011  +	    _LT_SYS_MODULE_PATH_AIX([$1])
         6012  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
         6013  +	    # Warning - without using the other run time loading flags,
         6014  +	    # -berok will link without error, but may produce a broken library.
         6015  +	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
         6016  +	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
         6017  +	    if test "$with_gnu_ld" = yes; then
         6018  +	      # We only use this code for GNU lds that support --whole-archive.
         6019  +	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
         6020  +	    else
         6021  +	      # Exported symbols can be pulled into shared objects from archives
         6022  +	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
         6023  +	    fi
         6024  +	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
         6025  +	    # This is similar to how AIX traditionally builds its shared
         6026  +	    # libraries.
         6027  +	    _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'
         6028  +          fi
         6029  +        fi
         6030  +        ;;
         6031  +
         6032  +      beos*)
         6033  +	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
         6034  +	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         6035  +	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
         6036  +	  # support --undefined.  This deserves some investigation.  FIXME
         6037  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         6038  +	else
         6039  +	  _LT_TAGVAR(ld_shlibs, $1)=no
         6040  +	fi
         6041  +	;;
         6042  +
         6043  +      chorus*)
         6044  +        case $cc_basename in
         6045  +          *)
         6046  +	  # FIXME: insert proper C++ library support
         6047  +	  _LT_TAGVAR(ld_shlibs, $1)=no
         6048  +	  ;;
         6049  +        esac
         6050  +        ;;
         6051  +
         6052  +      cygwin* | mingw* | pw32* | cegcc*)
         6053  +	case $GXX,$cc_basename in
         6054  +	,cl* | no,cl*)
         6055  +	  # Native MSVC
         6056  +	  # hardcode_libdir_flag_spec is actually meaningless, as there is
         6057  +	  # no search path for DLLs.
         6058  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
         6059  +	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         6060  +	  _LT_TAGVAR(always_export_symbols, $1)=yes
         6061  +	  _LT_TAGVAR(file_list_spec, $1)='@'
         6062  +	  # Tell ltmain to make .lib files, not .a files.
         6063  +	  libext=lib
         6064  +	  # Tell ltmain to make .dll files, not .so files.
         6065  +	  shrext_cmds=".dll"
         6066  +	  # FIXME: Setting linknames here is a bad hack.
         6067  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
         6068  +	  _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
         6069  +	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
         6070  +	    else
         6071  +	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
         6072  +	    fi~
         6073  +	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
         6074  +	    linknames='
         6075  +	  # The linker will not automatically build a static lib if we build a DLL.
         6076  +	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
         6077  +	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
         6078  +	  # Don't use ranlib
         6079  +	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
         6080  +	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
         6081  +	    lt_tool_outputfile="@TOOL_OUTPUT@"~
         6082  +	    case $lt_outputfile in
         6083  +	      *.exe|*.EXE) ;;
         6084  +	      *)
         6085  +		lt_outputfile="$lt_outputfile.exe"
         6086  +		lt_tool_outputfile="$lt_tool_outputfile.exe"
         6087  +		;;
         6088  +	    esac~
         6089  +	    func_to_tool_file "$lt_outputfile"~
         6090  +	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
         6091  +	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
         6092  +	      $RM "$lt_outputfile.manifest";
         6093  +	    fi'
         6094  +	  ;;
         6095  +	*)
         6096  +	  # g++
         6097  +	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
         6098  +	  # as there is no search path for DLLs.
         6099  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
         6100  +	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
         6101  +	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
         6102  +	  _LT_TAGVAR(always_export_symbols, $1)=no
         6103  +	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
         6104  +
         6105  +	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
         6106  +	    _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'
         6107  +	    # If the export-symbols file already is a .def file (1st line
         6108  +	    # is EXPORTS), use it as is; otherwise, prepend...
         6109  +	    _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
         6110  +	      cp $export_symbols $output_objdir/$soname.def;
         6111  +	    else
         6112  +	      echo EXPORTS > $output_objdir/$soname.def;
         6113  +	      cat $export_symbols >> $output_objdir/$soname.def;
         6114  +	    fi~
         6115  +	    $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'
         6116  +	  else
         6117  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6118  +	  fi
         6119  +	  ;;
         6120  +	esac
         6121  +	;;
         6122  +      darwin* | rhapsody*)
         6123  +        _LT_DARWIN_LINKER_FEATURES($1)
         6124  +	;;
         6125  +
         6126  +      dgux*)
         6127  +        case $cc_basename in
         6128  +          ec++*)
         6129  +	    # FIXME: insert proper C++ library support
         6130  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6131  +	    ;;
         6132  +          ghcx*)
         6133  +	    # Green Hills C++ Compiler
         6134  +	    # FIXME: insert proper C++ library support
         6135  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6136  +	    ;;
         6137  +          *)
         6138  +	    # FIXME: insert proper C++ library support
         6139  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6140  +	    ;;
         6141  +        esac
         6142  +        ;;
         6143  +
         6144  +      freebsd[[12]]*)
         6145  +        # C++ shared libraries reported to be fairly broken before
         6146  +	# switch to ELF
         6147  +        _LT_TAGVAR(ld_shlibs, $1)=no
         6148  +        ;;
         6149  +
         6150  +      freebsd-elf*)
         6151  +        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
         6152  +        ;;
         6153  +
         6154  +      freebsd* | dragonfly*)
         6155  +        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
         6156  +        # conventions
         6157  +        _LT_TAGVAR(ld_shlibs, $1)=yes
         6158  +        ;;
         6159  +
         6160  +      gnu*)
         6161  +        ;;
         6162  +
         6163  +      haiku*)
         6164  +        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         6165  +        _LT_TAGVAR(link_all_deplibs, $1)=yes
         6166  +        ;;
         6167  +
         6168  +      hpux9*)
         6169  +        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         6170  +        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         6171  +        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         6172  +        _LT_TAGVAR(hardcode_direct, $1)=yes
         6173  +        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
         6174  +				             # but as the default
         6175  +				             # location of the library.
         6176  +
         6177  +        case $cc_basename in
         6178  +          CC*)
         6179  +            # FIXME: insert proper C++ library support
         6180  +            _LT_TAGVAR(ld_shlibs, $1)=no
         6181  +            ;;
         6182  +          aCC*)
         6183  +            _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'
         6184  +            # Commands to make compiler produce verbose output that lists
         6185  +            # what "hidden" libraries, object files and flags are used when
         6186  +            # linking a shared library.
         6187  +            #
         6188  +            # There doesn't appear to be a way to prevent this compiler from
         6189  +            # explicitly linking system object files so we need to strip them
         6190  +            # from the output so that they don't get included in the library
         6191  +            # dependencies.
         6192  +            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; func_echo_all "$list"'
         6193  +            ;;
         6194  +          *)
         6195  +            if test "$GXX" = yes; then
         6196  +              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${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'
         6197  +            else
         6198  +              # FIXME: insert proper C++ library support
         6199  +              _LT_TAGVAR(ld_shlibs, $1)=no
         6200  +            fi
         6201  +            ;;
         6202  +        esac
         6203  +        ;;
         6204  +
         6205  +      hpux10*|hpux11*)
         6206  +        if test $with_gnu_ld = no; then
         6207  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         6208  +	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         6209  +
         6210  +          case $host_cpu in
         6211  +            hppa*64*|ia64*)
         6212  +              ;;
         6213  +            *)
         6214  +	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         6215  +              ;;
         6216  +          esac
         6217  +        fi
         6218  +        case $host_cpu in
         6219  +          hppa*64*|ia64*)
         6220  +            _LT_TAGVAR(hardcode_direct, $1)=no
         6221  +            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         6222  +            ;;
         6223  +          *)
         6224  +            _LT_TAGVAR(hardcode_direct, $1)=yes
         6225  +            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         6226  +            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
         6227  +					         # but as the default
         6228  +					         # location of the library.
         6229  +            ;;
         6230  +        esac
         6231  +
         6232  +        case $cc_basename in
         6233  +          CC*)
         6234  +	    # FIXME: insert proper C++ library support
         6235  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6236  +	    ;;
         6237  +          aCC*)
         6238  +	    case $host_cpu in
         6239  +	      hppa*64*)
         6240  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
         6241  +	        ;;
         6242  +	      ia64*)
         6243  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
         6244  +	        ;;
         6245  +	      *)
         6246  +	        _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'
         6247  +	        ;;
         6248  +	    esac
         6249  +	    # Commands to make compiler produce verbose output that lists
         6250  +	    # what "hidden" libraries, object files and flags are used when
         6251  +	    # linking a shared library.
         6252  +	    #
         6253  +	    # There doesn't appear to be a way to prevent this compiler from
         6254  +	    # explicitly linking system object files so we need to strip them
         6255  +	    # from the output so that they don't get included in the library
         6256  +	    # dependencies.
         6257  +	    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; func_echo_all "$list"'
         6258  +	    ;;
         6259  +          *)
         6260  +	    if test "$GXX" = yes; then
         6261  +	      if test $with_gnu_ld = no; then
         6262  +	        case $host_cpu in
         6263  +	          hppa*64*)
         6264  +	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
         6265  +	            ;;
         6266  +	          ia64*)
         6267  +	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
         6268  +	            ;;
         6269  +	          *)
         6270  +	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
         6271  +	            ;;
         6272  +	        esac
         6273  +	      fi
         6274  +	    else
         6275  +	      # FIXME: insert proper C++ library support
         6276  +	      _LT_TAGVAR(ld_shlibs, $1)=no
         6277  +	    fi
         6278  +	    ;;
         6279  +        esac
         6280  +        ;;
         6281  +
         6282  +      interix[[3-9]]*)
         6283  +	_LT_TAGVAR(hardcode_direct, $1)=no
         6284  +	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         6285  +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
         6286  +	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         6287  +	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
         6288  +	# Instead, shared libraries are loaded at an image base (0x10000000 by
         6289  +	# default) and relocated if they conflict, which is a slow very memory
         6290  +	# consuming and fragmenting process.  To avoid this, we pick a random,
         6291  +	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
         6292  +	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
         6293  +	_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'
         6294  +	_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'
         6295  +	;;
         6296  +      irix5* | irix6*)
         6297  +        case $cc_basename in
         6298  +          CC*)
         6299  +	    # SGI C++
         6300  +	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
         6301  +
         6302  +	    # Archives containing C++ object files must be created using
         6303  +	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
         6304  +	    # necessary to make sure instantiated templates are included
         6305  +	    # in the archive.
         6306  +	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
         6307  +	    ;;
         6308  +          *)
         6309  +	    if test "$GXX" = yes; then
         6310  +	      if test "$with_gnu_ld" = no; then
         6311  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
         6312  +	      else
         6313  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
         6314  +	      fi
         6315  +	    fi
         6316  +	    _LT_TAGVAR(link_all_deplibs, $1)=yes
         6317  +	    ;;
         6318  +        esac
         6319  +        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         6320  +        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         6321  +        _LT_TAGVAR(inherit_rpath, $1)=yes
         6322  +        ;;
         6323  +
         6324  +      linux* | k*bsd*-gnu | kopensolaris*-gnu)
         6325  +        case $cc_basename in
         6326  +          KCC*)
         6327  +	    # Kuck and Associates, Inc. (KAI) C++ Compiler
         6328  +
         6329  +	    # KCC will only create a shared library if the output file
         6330  +	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
         6331  +	    # to its proper name (with version) after linking.
         6332  +	    _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'
         6333  +	    _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'
         6334  +	    # Commands to make compiler produce verbose output that lists
         6335  +	    # what "hidden" libraries, object files and flags are used when
         6336  +	    # linking a shared library.
         6337  +	    #
         6338  +	    # There doesn't appear to be a way to prevent this compiler from
         6339  +	    # explicitly linking system object files so we need to strip them
         6340  +	    # from the output so that they don't get included in the library
         6341  +	    # dependencies.
         6342  +	    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; func_echo_all "$list"'
         6343  +
         6344  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
         6345  +	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
         6346  +
         6347  +	    # Archives containing C++ object files must be created using
         6348  +	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
         6349  +	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
         6350  +	    ;;
         6351  +	  icpc* | ecpc* )
         6352  +	    # Intel C++
         6353  +	    with_gnu_ld=yes
         6354  +	    # version 8.0 and above of icpc choke on multiply defined symbols
         6355  +	    # if we add $predep_objects and $postdep_objects, however 7.1 and
         6356  +	    # earlier do not add the objects themselves.
         6357  +	    case `$CC -V 2>&1` in
         6358  +	      *"Version 7."*)
         6359  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
         6360  +		_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'
         6361  +		;;
         6362  +	      *)  # Version 8.0 or newer
         6363  +	        tmp_idyn=
         6364  +	        case $host_cpu in
         6365  +		  ia64*) tmp_idyn=' -i_dynamic';;
         6366  +		esac
         6367  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         6368  +		_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'
         6369  +		;;
         6370  +	    esac
         6371  +	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
         6372  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
         6373  +	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
         6374  +	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
         6375  +	    ;;
         6376  +          pgCC* | pgcpp*)
         6377  +            # Portland Group C++ compiler
         6378  +	    case `$CC -V` in
         6379  +	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
         6380  +	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
         6381  +		rm -rf $tpldir~
         6382  +		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
         6383  +		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
         6384  +	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
         6385  +		rm -rf $tpldir~
         6386  +		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
         6387  +		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
         6388  +		$RANLIB $oldlib'
         6389  +	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
         6390  +		rm -rf $tpldir~
         6391  +		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
         6392  +		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
         6393  +	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
         6394  +		rm -rf $tpldir~
         6395  +		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
         6396  +		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
         6397  +	      ;;
         6398  +	    *) # Version 6 and above use weak symbols
         6399  +	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
         6400  +	      _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'
         6401  +	      ;;
         6402  +	    esac
         6403  +
         6404  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
         6405  +	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
         6406  +	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
         6407  +            ;;
         6408  +	  cxx*)
         6409  +	    # Compaq C++
         6410  +	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
         6411  +	    _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'
         6412  +
         6413  +	    runpath_var=LD_RUN_PATH
         6414  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
         6415  +	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         6416  +
         6417  +	    # Commands to make compiler produce verbose output that lists
         6418  +	    # what "hidden" libraries, object files and flags are used when
         6419  +	    # linking a shared library.
         6420  +	    #
         6421  +	    # There doesn't appear to be a way to prevent this compiler from
         6422  +	    # explicitly linking system object files so we need to strip them
         6423  +	    # from the output so that they don't get included in the library
         6424  +	    # dependencies.
         6425  +	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
         6426  +	    ;;
         6427  +	  xl* | mpixl* | bgxl*)
         6428  +	    # IBM XL 8.0 on PPC, with GNU ld
         6429  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         6430  +	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
         6431  +	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         6432  +	    if test "x$supports_anon_versioning" = xyes; then
         6433  +	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
         6434  +		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
         6435  +		echo "local: *; };" >> $output_objdir/$libname.ver~
         6436  +		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
         6437  +	    fi
         6438  +	    ;;
         6439  +	  *)
         6440  +	    case `$CC -V 2>&1 | sed 5q` in
         6441  +	    *Sun\ C*)
         6442  +	      # Sun C++ 5.9
         6443  +	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
         6444  +	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
         6445  +	      _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'
         6446  +	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         6447  +	      _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; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
         6448  +	      _LT_TAGVAR(compiler_needs_object, $1)=yes
         6449  +
         6450  +	      # Not sure whether something based on
         6451  +	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
         6452  +	      # would be better.
         6453  +	      output_verbose_link_cmd='func_echo_all'
         6454  +
         6455  +	      # Archives containing C++ object files must be created using
         6456  +	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
         6457  +	      # necessary to make sure instantiated templates are included
         6458  +	      # in the archive.
         6459  +	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
         6460  +	      ;;
         6461  +	    esac
         6462  +	    ;;
         6463  +	esac
         6464  +	;;
         6465  +
         6466  +      lynxos*)
         6467  +        # FIXME: insert proper C++ library support
         6468  +	_LT_TAGVAR(ld_shlibs, $1)=no
         6469  +	;;
         6470  +
         6471  +      m88k*)
         6472  +        # FIXME: insert proper C++ library support
         6473  +        _LT_TAGVAR(ld_shlibs, $1)=no
         6474  +	;;
         6475  +
         6476  +      mvs*)
         6477  +        case $cc_basename in
         6478  +          cxx*)
         6479  +	    # FIXME: insert proper C++ library support
         6480  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6481  +	    ;;
         6482  +	  *)
         6483  +	    # FIXME: insert proper C++ library support
         6484  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6485  +	    ;;
         6486  +	esac
         6487  +	;;
         6488  +
         6489  +      netbsd*)
         6490  +        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
         6491  +	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
         6492  +	  wlarc=
         6493  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         6494  +	  _LT_TAGVAR(hardcode_direct, $1)=yes
         6495  +	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         6496  +	fi
         6497  +	# Workaround some broken pre-1.5 toolchains
         6498  +	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
         6499  +	;;
         6500  +
         6501  +      *nto* | *qnx*)
         6502  +        _LT_TAGVAR(ld_shlibs, $1)=yes
         6503  +	;;
         6504  +
         6505  +      openbsd2*)
         6506  +        # C++ shared libraries are fairly broken
         6507  +	_LT_TAGVAR(ld_shlibs, $1)=no
         6508  +	;;
         6509  +
         6510  +      openbsd*)
         6511  +	if test -f /usr/libexec/ld.so; then
         6512  +	  _LT_TAGVAR(hardcode_direct, $1)=yes
         6513  +	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         6514  +	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         6515  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
         6516  +	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
         6517  +	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
         6518  +	    _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'
         6519  +	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         6520  +	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
         6521  +	  fi
         6522  +	  output_verbose_link_cmd=func_echo_all
         6523  +	else
         6524  +	  _LT_TAGVAR(ld_shlibs, $1)=no
         6525  +	fi
         6526  +	;;
         6527  +
         6528  +      osf3* | osf4* | osf5*)
         6529  +        case $cc_basename in
         6530  +          KCC*)
         6531  +	    # Kuck and Associates, Inc. (KAI) C++ Compiler
         6532  +
         6533  +	    # KCC will only create a shared library if the output file
         6534  +	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
         6535  +	    # to its proper name (with version) after linking.
         6536  +	    _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'
         6537  +
         6538  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
         6539  +	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         6540  +
         6541  +	    # Archives containing C++ object files must be created using
         6542  +	    # the KAI C++ compiler.
         6543  +	    case $host in
         6544  +	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
         6545  +	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
         6546  +	    esac
         6547  +	    ;;
         6548  +          RCC*)
         6549  +	    # Rational C++ 2.4.1
         6550  +	    # FIXME: insert proper C++ library support
         6551  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6552  +	    ;;
         6553  +          cxx*)
         6554  +	    case $host in
         6555  +	      osf3*)
         6556  +	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
         6557  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
         6558  +	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         6559  +		;;
         6560  +	      *)
         6561  +	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
         6562  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
         6563  +	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
         6564  +	          echo "-hidden">> $lib.exp~
         6565  +	          $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 "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
         6566  +	          $RM $lib.exp'
         6567  +	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
         6568  +		;;
         6569  +	    esac
         6570  +
         6571  +	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         6572  +
         6573  +	    # Commands to make compiler produce verbose output that lists
         6574  +	    # what "hidden" libraries, object files and flags are used when
         6575  +	    # linking a shared library.
         6576  +	    #
         6577  +	    # There doesn't appear to be a way to prevent this compiler from
         6578  +	    # explicitly linking system object files so we need to strip them
         6579  +	    # from the output so that they don't get included in the library
         6580  +	    # dependencies.
         6581  +	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
         6582  +	    ;;
         6583  +	  *)
         6584  +	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
         6585  +	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
         6586  +	      case $host in
         6587  +	        osf3*)
         6588  +	          _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" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
         6589  +		  ;;
         6590  +	        *)
         6591  +	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
         6592  +		  ;;
         6593  +	      esac
         6594  +
         6595  +	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         6596  +	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         6597  +
         6598  +	      # Commands to make compiler produce verbose output that lists
         6599  +	      # what "hidden" libraries, object files and flags are used when
         6600  +	      # linking a shared library.
         6601  +	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
         6602  +
         6603  +	    else
         6604  +	      # FIXME: insert proper C++ library support
         6605  +	      _LT_TAGVAR(ld_shlibs, $1)=no
         6606  +	    fi
         6607  +	    ;;
         6608  +        esac
         6609  +        ;;
         6610  +
         6611  +      psos*)
         6612  +        # FIXME: insert proper C++ library support
         6613  +        _LT_TAGVAR(ld_shlibs, $1)=no
         6614  +        ;;
         6615  +
         6616  +      sunos4*)
         6617  +        case $cc_basename in
         6618  +          CC*)
         6619  +	    # Sun C++ 4.x
         6620  +	    # FIXME: insert proper C++ library support
         6621  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6622  +	    ;;
         6623  +          lcc*)
         6624  +	    # Lucid
         6625  +	    # FIXME: insert proper C++ library support
         6626  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6627  +	    ;;
         6628  +          *)
         6629  +	    # FIXME: insert proper C++ library support
         6630  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6631  +	    ;;
         6632  +        esac
         6633  +        ;;
         6634  +
         6635  +      solaris*)
         6636  +        case $cc_basename in
         6637  +          CC* | sunCC*)
         6638  +	    # Sun C++ 4.2, 5.x and Centerline C++
         6639  +            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
         6640  +	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
         6641  +	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
         6642  +	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
         6643  +	      $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'
         6644  +
         6645  +	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
         6646  +	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         6647  +	    case $host_os in
         6648  +	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
         6649  +	      *)
         6650  +		# The compiler driver will combine and reorder linker options,
         6651  +		# but understands `-z linker_flag'.
         6652  +	        # Supported since Solaris 2.6 (maybe 2.5.1?)
         6653  +		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
         6654  +	        ;;
         6655  +	    esac
         6656  +	    _LT_TAGVAR(link_all_deplibs, $1)=yes
         6657  +
         6658  +	    output_verbose_link_cmd='func_echo_all'
         6659  +
         6660  +	    # Archives containing C++ object files must be created using
         6661  +	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
         6662  +	    # necessary to make sure instantiated templates are included
         6663  +	    # in the archive.
         6664  +	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
         6665  +	    ;;
         6666  +          gcx*)
         6667  +	    # Green Hills C++ Compiler
         6668  +	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
         6669  +
         6670  +	    # The C++ compiler must be used to create the archive.
         6671  +	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
         6672  +	    ;;
         6673  +          *)
         6674  +	    # GNU C++ compiler with Solaris linker
         6675  +	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
         6676  +	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
         6677  +	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
         6678  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
         6679  +	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
         6680  +		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
         6681  +
         6682  +	        # Commands to make compiler produce verbose output that lists
         6683  +	        # what "hidden" libraries, object files and flags are used when
         6684  +	        # linking a shared library.
         6685  +	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
         6686  +	      else
         6687  +	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
         6688  +	        # platform.
         6689  +	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
         6690  +	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
         6691  +		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
         6692  +
         6693  +	        # Commands to make compiler produce verbose output that lists
         6694  +	        # what "hidden" libraries, object files and flags are used when
         6695  +	        # linking a shared library.
         6696  +	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
         6697  +	      fi
         6698  +
         6699  +	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
         6700  +	      case $host_os in
         6701  +		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
         6702  +		*)
         6703  +		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
         6704  +		  ;;
         6705  +	      esac
         6706  +	    fi
         6707  +	    ;;
         6708  +        esac
         6709  +        ;;
         6710  +
         6711  +    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
         6712  +      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
         6713  +      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
         6714  +      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         6715  +      runpath_var='LD_RUN_PATH'
         6716  +
         6717  +      case $cc_basename in
         6718  +        CC*)
         6719  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         6720  +	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         6721  +	  ;;
         6722  +	*)
         6723  +	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         6724  +	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         6725  +	  ;;
         6726  +      esac
         6727  +      ;;
         6728  +
         6729  +      sysv5* | sco3.2v5* | sco5v6*)
         6730  +	# Note: We can NOT use -z defs as we might desire, because we do not
         6731  +	# link with -lc, and that would cause any symbols used from libc to
         6732  +	# always be unresolved, which means just about no library would
         6733  +	# ever link correctly.  If we're not using GNU ld we use -z text
         6734  +	# though, which does catch some bad symbols but isn't as heavy-handed
         6735  +	# as -z defs.
         6736  +	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
         6737  +	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
         6738  +	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
         6739  +	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
         6740  +	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
         6741  +	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
         6742  +	_LT_TAGVAR(link_all_deplibs, $1)=yes
         6743  +	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
         6744  +	runpath_var='LD_RUN_PATH'
         6745  +
         6746  +	case $cc_basename in
         6747  +          CC*)
         6748  +	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         6749  +	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         6750  +	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
         6751  +	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
         6752  +	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
         6753  +	      '"$_LT_TAGVAR(reload_cmds, $1)"
         6754  +	    ;;
         6755  +	  *)
         6756  +	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         6757  +	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
         6758  +	    ;;
         6759  +	esac
         6760  +      ;;
         6761  +
         6762  +      tandem*)
         6763  +        case $cc_basename in
         6764  +          NCC*)
         6765  +	    # NonStop-UX NCC 3.20
         6766  +	    # FIXME: insert proper C++ library support
         6767  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6768  +	    ;;
         6769  +          *)
         6770  +	    # FIXME: insert proper C++ library support
         6771  +	    _LT_TAGVAR(ld_shlibs, $1)=no
         6772  +	    ;;
         6773  +        esac
         6774  +        ;;
         6775  +
         6776  +      vxworks*)
         6777  +        # FIXME: insert proper C++ library support
         6778  +        _LT_TAGVAR(ld_shlibs, $1)=no
         6779  +        ;;
         6780  +
         6781  +      *)
         6782  +        # FIXME: insert proper C++ library support
         6783  +        _LT_TAGVAR(ld_shlibs, $1)=no
         6784  +        ;;
         6785  +    esac
         6786  +
         6787  +    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
         6788  +    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
         6789  +
         6790  +    _LT_TAGVAR(GCC, $1)="$GXX"
         6791  +    _LT_TAGVAR(LD, $1)="$LD"
         6792  +
         6793  +    ## CAVEAT EMPTOR:
         6794  +    ## There is no encapsulation within the following macros, do not change
         6795  +    ## the running order or otherwise move them around unless you know exactly
         6796  +    ## what you are doing...
         6797  +    _LT_SYS_HIDDEN_LIBDEPS($1)
         6798  +    _LT_COMPILER_PIC($1)
         6799  +    _LT_COMPILER_C_O($1)
         6800  +    _LT_COMPILER_FILE_LOCKS($1)
         6801  +    _LT_LINKER_SHLIBS($1)
         6802  +    _LT_SYS_DYNAMIC_LINKER($1)
         6803  +    _LT_LINKER_HARDCODE_LIBPATH($1)
         6804  +
         6805  +    _LT_CONFIG($1)
         6806  +  fi # test -n "$compiler"
         6807  +
         6808  +  CC=$lt_save_CC
         6809  +  CFLAGS=$lt_save_CFLAGS
         6810  +  LDCXX=$LD
         6811  +  LD=$lt_save_LD
         6812  +  GCC=$lt_save_GCC
         6813  +  with_gnu_ld=$lt_save_with_gnu_ld
         6814  +  lt_cv_path_LDCXX=$lt_cv_path_LD
         6815  +  lt_cv_path_LD=$lt_save_path_LD
         6816  +  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
         6817  +  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
         6818  +fi # test "$_lt_caught_CXX_error" != yes
         6819  +
         6820  +AC_LANG_POP
         6821  +])# _LT_LANG_CXX_CONFIG
         6822  +
         6823  +
         6824  +# _LT_FUNC_STRIPNAME_CNF
         6825  +# ----------------------
         6826  +# func_stripname_cnf prefix suffix name
         6827  +# strip PREFIX and SUFFIX off of NAME.
         6828  +# PREFIX and SUFFIX must not contain globbing or regex special
         6829  +# characters, hashes, percent signs, but SUFFIX may contain a leading
         6830  +# dot (in which case that matches only a dot).
         6831  +#
         6832  +# This function is identical to the (non-XSI) version of func_stripname,
         6833  +# except this one can be used by m4 code that may be executed by configure,
         6834  +# rather than the libtool script.
         6835  +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
         6836  +AC_REQUIRE([_LT_DECL_SED])
         6837  +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
         6838  +func_stripname_cnf ()
         6839  +{
         6840  +  case ${2} in
         6841  +  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
         6842  +  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
         6843  +  esac
         6844  +} # func_stripname_cnf
         6845  +])# _LT_FUNC_STRIPNAME_CNF
         6846  +
         6847  +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
         6848  +# ---------------------------------
         6849  +# Figure out "hidden" library dependencies from verbose
         6850  +# compiler output when linking a shared library.
         6851  +# Parse the compiler output and extract the necessary
         6852  +# objects, libraries and library flags.
         6853  +m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
         6854  +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
         6855  +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
         6856  +# Dependencies to place before and after the object being linked:
         6857  +_LT_TAGVAR(predep_objects, $1)=
         6858  +_LT_TAGVAR(postdep_objects, $1)=
         6859  +_LT_TAGVAR(predeps, $1)=
         6860  +_LT_TAGVAR(postdeps, $1)=
         6861  +_LT_TAGVAR(compiler_lib_search_path, $1)=
         6862  +
         6863  +dnl we can't use the lt_simple_compile_test_code here,
         6864  +dnl because it contains code intended for an executable,
         6865  +dnl not a library.  It's possible we should let each
         6866  +dnl tag define a new lt_????_link_test_code variable,
         6867  +dnl but it's only used here...
         6868  +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
         6869  +int a;
         6870  +void foo (void) { a = 0; }
         6871  +_LT_EOF
         6872  +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
         6873  +class Foo
         6874  +{
         6875  +public:
         6876  +  Foo (void) { a = 0; }
         6877  +private:
         6878  +  int a;
         6879  +};
         6880  +_LT_EOF
         6881  +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
         6882  +      subroutine foo
         6883  +      implicit none
         6884  +      integer*4 a
         6885  +      a=0
         6886  +      return
         6887  +      end
         6888  +_LT_EOF
         6889  +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
         6890  +      subroutine foo
         6891  +      implicit none
         6892  +      integer a
         6893  +      a=0
         6894  +      return
         6895  +      end
         6896  +_LT_EOF
         6897  +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
         6898  +public class foo {
         6899  +  private int a;
         6900  +  public void bar (void) {
         6901  +    a = 0;
         6902  +  }
         6903  +};
         6904  +_LT_EOF
         6905  +])
         6906  +
         6907  +_lt_libdeps_save_CFLAGS=$CFLAGS
         6908  +case "$CC $CFLAGS " in #(
         6909  +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
         6910  +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
         6911  +esac
         6912  +
         6913  +dnl Parse the compiler output and extract the necessary
         6914  +dnl objects, libraries and library flags.
         6915  +if AC_TRY_EVAL(ac_compile); then
         6916  +  # Parse the compiler output and extract the necessary
         6917  +  # objects, libraries and library flags.
         6918  +
         6919  +  # Sentinel used to keep track of whether or not we are before
         6920  +  # the conftest object file.
         6921  +  pre_test_object_deps_done=no
         6922  +
         6923  +  for p in `eval "$output_verbose_link_cmd"`; do
         6924  +    case ${prev}${p} in
         6925  +
         6926  +    -L* | -R* | -l*)
         6927  +       # Some compilers place space between "-{L,R}" and the path.
         6928  +       # Remove the space.
         6929  +       if test $p = "-L" ||
         6930  +          test $p = "-R"; then
         6931  +	 prev=$p
         6932  +	 continue
         6933  +       fi
         6934  +
         6935  +       # Expand the sysroot to ease extracting the directories later.
         6936  +       if test -z "$prev"; then
         6937  +         case $p in
         6938  +         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
         6939  +         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
         6940  +         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
         6941  +         esac
         6942  +       fi
         6943  +       case $p in
         6944  +       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
         6945  +       esac
         6946  +       if test "$pre_test_object_deps_done" = no; then
         6947  +	 case ${prev} in
         6948  +	 -L | -R)
         6949  +	   # Internal compiler library paths should come after those
         6950  +	   # provided the user.  The postdeps already come after the
         6951  +	   # user supplied libs so there is no need to process them.
         6952  +	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
         6953  +	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
         6954  +	   else
         6955  +	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
         6956  +	   fi
         6957  +	   ;;
         6958  +	 # The "-l" case would never come before the object being
         6959  +	 # linked, so don't bother handling this case.
         6960  +	 esac
         6961  +       else
         6962  +	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
         6963  +	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
         6964  +	 else
         6965  +	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
         6966  +	 fi
         6967  +       fi
         6968  +       prev=
         6969  +       ;;
         6970  +
         6971  +    *.lto.$objext) ;; # Ignore GCC LTO objects
         6972  +    *.$objext)
         6973  +       # This assumes that the test object file only shows up
         6974  +       # once in the compiler output.
         6975  +       if test "$p" = "conftest.$objext"; then
         6976  +	 pre_test_object_deps_done=yes
         6977  +	 continue
         6978  +       fi
         6979  +
         6980  +       if test "$pre_test_object_deps_done" = no; then
         6981  +	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
         6982  +	   _LT_TAGVAR(predep_objects, $1)="$p"
         6983  +	 else
         6984  +	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
         6985  +	 fi
         6986  +       else
         6987  +	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
         6988  +	   _LT_TAGVAR(postdep_objects, $1)="$p"
         6989  +	 else
         6990  +	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
         6991  +	 fi
         6992  +       fi
         6993  +       ;;
         6994  +
         6995  +    *) ;; # Ignore the rest.
         6996  +
         6997  +    esac
         6998  +  done
         6999  +
         7000  +  # Clean up.
         7001  +  rm -f a.out a.exe
         7002  +else
         7003  +  echo "libtool.m4: error: problem compiling $1 test program"
         7004  +fi
         7005  +
         7006  +$RM -f confest.$objext
         7007  +CFLAGS=$_lt_libdeps_save_CFLAGS
         7008  +
         7009  +# PORTME: override above test on systems where it is broken
         7010  +m4_if([$1], [CXX],
         7011  +[case $host_os in
         7012  +interix[[3-9]]*)
         7013  +  # Interix 3.5 installs completely hosed .la files for C++, so rather than
         7014  +  # hack all around it, let's just trust "g++" to DTRT.
         7015  +  _LT_TAGVAR(predep_objects,$1)=
         7016  +  _LT_TAGVAR(postdep_objects,$1)=
         7017  +  _LT_TAGVAR(postdeps,$1)=
         7018  +  ;;
         7019  +
         7020  +linux*)
         7021  +  case `$CC -V 2>&1 | sed 5q` in
         7022  +  *Sun\ C*)
         7023  +    # Sun C++ 5.9
         7024  +
         7025  +    # The more standards-conforming stlport4 library is
         7026  +    # incompatible with the Cstd library. Avoid specifying
         7027  +    # it if it's in CXXFLAGS. Ignore libCrun as
         7028  +    # -library=stlport4 depends on it.
         7029  +    case " $CXX $CXXFLAGS " in
         7030  +    *" -library=stlport4 "*)
         7031  +      solaris_use_stlport4=yes
         7032  +      ;;
         7033  +    esac
         7034  +
         7035  +    if test "$solaris_use_stlport4" != yes; then
         7036  +      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
         7037  +    fi
         7038  +    ;;
         7039  +  esac
         7040  +  ;;
         7041  +
         7042  +solaris*)
         7043  +  case $cc_basename in
         7044  +  CC* | sunCC*)
         7045  +    # The more standards-conforming stlport4 library is
         7046  +    # incompatible with the Cstd library. Avoid specifying
         7047  +    # it if it's in CXXFLAGS. Ignore libCrun as
         7048  +    # -library=stlport4 depends on it.
         7049  +    case " $CXX $CXXFLAGS " in
         7050  +    *" -library=stlport4 "*)
         7051  +      solaris_use_stlport4=yes
         7052  +      ;;
         7053  +    esac
         7054  +
         7055  +    # Adding this requires a known-good setup of shared libraries for
         7056  +    # Sun compiler versions before 5.6, else PIC objects from an old
         7057  +    # archive will be linked into the output, leading to subtle bugs.
         7058  +    if test "$solaris_use_stlport4" != yes; then
         7059  +      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
         7060  +    fi
         7061  +    ;;
         7062  +  esac
         7063  +  ;;
         7064  +esac
         7065  +])
         7066  +
         7067  +case " $_LT_TAGVAR(postdeps, $1) " in
         7068  +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
         7069  +esac
         7070  + _LT_TAGVAR(compiler_lib_search_dirs, $1)=
         7071  +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
         7072  + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
         7073  +fi
         7074  +_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
         7075  +    [The directories searched by this compiler when creating a shared library])
         7076  +_LT_TAGDECL([], [predep_objects], [1],
         7077  +    [Dependencies to place before and after the objects being linked to
         7078  +    create a shared library])
         7079  +_LT_TAGDECL([], [postdep_objects], [1])
         7080  +_LT_TAGDECL([], [predeps], [1])
         7081  +_LT_TAGDECL([], [postdeps], [1])
         7082  +_LT_TAGDECL([], [compiler_lib_search_path], [1],
         7083  +    [The library search path used internally by the compiler when linking
         7084  +    a shared library])
         7085  +])# _LT_SYS_HIDDEN_LIBDEPS
         7086  +
         7087  +
         7088  +# _LT_LANG_F77_CONFIG([TAG])
         7089  +# --------------------------
         7090  +# Ensure that the configuration variables for a Fortran 77 compiler are
         7091  +# suitably defined.  These variables are subsequently used by _LT_CONFIG
         7092  +# to write the compiler configuration to `libtool'.
         7093  +m4_defun([_LT_LANG_F77_CONFIG],
         7094  +[AC_LANG_PUSH(Fortran 77)
         7095  +if test -z "$F77" || test "X$F77" = "Xno"; then
         7096  +  _lt_disable_F77=yes
         7097  +fi
         7098  +
         7099  +_LT_TAGVAR(archive_cmds_need_lc, $1)=no
         7100  +_LT_TAGVAR(allow_undefined_flag, $1)=
         7101  +_LT_TAGVAR(always_export_symbols, $1)=no
         7102  +_LT_TAGVAR(archive_expsym_cmds, $1)=
         7103  +_LT_TAGVAR(export_dynamic_flag_spec, $1)=
         7104  +_LT_TAGVAR(hardcode_direct, $1)=no
         7105  +_LT_TAGVAR(hardcode_direct_absolute, $1)=no
         7106  +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
         7107  +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
         7108  +_LT_TAGVAR(hardcode_libdir_separator, $1)=
         7109  +_LT_TAGVAR(hardcode_minus_L, $1)=no
         7110  +_LT_TAGVAR(hardcode_automatic, $1)=no
         7111  +_LT_TAGVAR(inherit_rpath, $1)=no
         7112  +_LT_TAGVAR(module_cmds, $1)=
         7113  +_LT_TAGVAR(module_expsym_cmds, $1)=
         7114  +_LT_TAGVAR(link_all_deplibs, $1)=unknown
         7115  +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
         7116  +_LT_TAGVAR(reload_flag, $1)=$reload_flag
         7117  +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
         7118  +_LT_TAGVAR(no_undefined_flag, $1)=
         7119  +_LT_TAGVAR(whole_archive_flag_spec, $1)=
         7120  +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
         7121  +
         7122  +# Source file extension for f77 test sources.
         7123  +ac_ext=f
         7124  +
         7125  +# Object file extension for compiled f77 test sources.
         7126  +objext=o
         7127  +_LT_TAGVAR(objext, $1)=$objext
         7128  +
         7129  +# No sense in running all these tests if we already determined that
         7130  +# the F77 compiler isn't working.  Some variables (like enable_shared)
         7131  +# are currently assumed to apply to all compilers on this platform,
         7132  +# and will be corrupted by setting them based on a non-working compiler.
         7133  +if test "$_lt_disable_F77" != yes; then
         7134  +  # Code to be used in simple compile tests
         7135  +  lt_simple_compile_test_code="\
         7136  +      subroutine t
         7137  +      return
         7138  +      end
         7139  +"
         7140  +
         7141  +  # Code to be used in simple link tests
         7142  +  lt_simple_link_test_code="\
         7143  +      program t
         7144  +      end
         7145  +"
         7146  +
         7147  +  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
         7148  +  _LT_TAG_COMPILER
         7149  +
         7150  +  # save warnings/boilerplate of simple test code
         7151  +  _LT_COMPILER_BOILERPLATE
         7152  +  _LT_LINKER_BOILERPLATE
         7153  +
         7154  +  # Allow CC to be a program name with arguments.
         7155  +  lt_save_CC="$CC"
         7156  +  lt_save_GCC=$GCC
         7157  +  lt_save_CFLAGS=$CFLAGS
         7158  +  CC=${F77-"f77"}
         7159  +  CFLAGS=$FFLAGS
         7160  +  compiler=$CC
         7161  +  _LT_TAGVAR(compiler, $1)=$CC
         7162  +  _LT_CC_BASENAME([$compiler])
         7163  +  GCC=$G77
         7164  +  if test -n "$compiler"; then
         7165  +    AC_MSG_CHECKING([if libtool supports shared libraries])
         7166  +    AC_MSG_RESULT([$can_build_shared])
         7167  +
         7168  +    AC_MSG_CHECKING([whether to build shared libraries])
         7169  +    test "$can_build_shared" = "no" && enable_shared=no
         7170  +
         7171  +    # On AIX, shared libraries and static libraries use the same namespace, and
         7172  +    # are all built from PIC.
         7173  +    case $host_os in
         7174  +      aix3*)
         7175  +        test "$enable_shared" = yes && enable_static=no
         7176  +        if test -n "$RANLIB"; then
         7177  +          archive_cmds="$archive_cmds~\$RANLIB \$lib"
         7178  +          postinstall_cmds='$RANLIB $lib'
         7179  +        fi
         7180  +        ;;
         7181  +      aix[[4-9]]*)
         7182  +	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
         7183  +	  test "$enable_shared" = yes && enable_static=no
         7184  +	fi
         7185  +        ;;
         7186  +    esac
         7187  +    AC_MSG_RESULT([$enable_shared])
         7188  +
         7189  +    AC_MSG_CHECKING([whether to build static libraries])
         7190  +    # Make sure either enable_shared or enable_static is yes.
         7191  +    test "$enable_shared" = yes || enable_static=yes
         7192  +    AC_MSG_RESULT([$enable_static])
         7193  +
         7194  +    _LT_TAGVAR(GCC, $1)="$G77"
         7195  +    _LT_TAGVAR(LD, $1)="$LD"
         7196  +
         7197  +    ## CAVEAT EMPTOR:
         7198  +    ## There is no encapsulation within the following macros, do not change
         7199  +    ## the running order or otherwise move them around unless you know exactly
         7200  +    ## what you are doing...
         7201  +    _LT_COMPILER_PIC($1)
         7202  +    _LT_COMPILER_C_O($1)
         7203  +    _LT_COMPILER_FILE_LOCKS($1)
         7204  +    _LT_LINKER_SHLIBS($1)
         7205  +    _LT_SYS_DYNAMIC_LINKER($1)
         7206  +    _LT_LINKER_HARDCODE_LIBPATH($1)
         7207  +
         7208  +    _LT_CONFIG($1)
         7209  +  fi # test -n "$compiler"
         7210  +
         7211  +  GCC=$lt_save_GCC
         7212  +  CC="$lt_save_CC"
         7213  +  CFLAGS="$lt_save_CFLAGS"
         7214  +fi # test "$_lt_disable_F77" != yes
         7215  +
         7216  +AC_LANG_POP
         7217  +])# _LT_LANG_F77_CONFIG
         7218  +
         7219  +
         7220  +# _LT_LANG_FC_CONFIG([TAG])
         7221  +# -------------------------
         7222  +# Ensure that the configuration variables for a Fortran compiler are
         7223  +# suitably defined.  These variables are subsequently used by _LT_CONFIG
         7224  +# to write the compiler configuration to `libtool'.
         7225  +m4_defun([_LT_LANG_FC_CONFIG],
         7226  +[AC_LANG_PUSH(Fortran)
         7227  +
         7228  +if test -z "$FC" || test "X$FC" = "Xno"; then
         7229  +  _lt_disable_FC=yes
         7230  +fi
         7231  +
         7232  +_LT_TAGVAR(archive_cmds_need_lc, $1)=no
         7233  +_LT_TAGVAR(allow_undefined_flag, $1)=
         7234  +_LT_TAGVAR(always_export_symbols, $1)=no
         7235  +_LT_TAGVAR(archive_expsym_cmds, $1)=
         7236  +_LT_TAGVAR(export_dynamic_flag_spec, $1)=
         7237  +_LT_TAGVAR(hardcode_direct, $1)=no
         7238  +_LT_TAGVAR(hardcode_direct_absolute, $1)=no
         7239  +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
         7240  +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
         7241  +_LT_TAGVAR(hardcode_libdir_separator, $1)=
         7242  +_LT_TAGVAR(hardcode_minus_L, $1)=no
         7243  +_LT_TAGVAR(hardcode_automatic, $1)=no
         7244  +_LT_TAGVAR(inherit_rpath, $1)=no
         7245  +_LT_TAGVAR(module_cmds, $1)=
         7246  +_LT_TAGVAR(module_expsym_cmds, $1)=
         7247  +_LT_TAGVAR(link_all_deplibs, $1)=unknown
         7248  +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
         7249  +_LT_TAGVAR(reload_flag, $1)=$reload_flag
         7250  +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
         7251  +_LT_TAGVAR(no_undefined_flag, $1)=
         7252  +_LT_TAGVAR(whole_archive_flag_spec, $1)=
         7253  +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
         7254  +
         7255  +# Source file extension for fc test sources.
         7256  +ac_ext=${ac_fc_srcext-f}
         7257  +
         7258  +# Object file extension for compiled fc test sources.
         7259  +objext=o
         7260  +_LT_TAGVAR(objext, $1)=$objext
         7261  +
         7262  +# No sense in running all these tests if we already determined that
         7263  +# the FC compiler isn't working.  Some variables (like enable_shared)
         7264  +# are currently assumed to apply to all compilers on this platform,
         7265  +# and will be corrupted by setting them based on a non-working compiler.
         7266  +if test "$_lt_disable_FC" != yes; then
         7267  +  # Code to be used in simple compile tests
         7268  +  lt_simple_compile_test_code="\
         7269  +      subroutine t
         7270  +      return
         7271  +      end
         7272  +"
         7273  +
         7274  +  # Code to be used in simple link tests
         7275  +  lt_simple_link_test_code="\
         7276  +      program t
         7277  +      end
         7278  +"
         7279  +
         7280  +  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
         7281  +  _LT_TAG_COMPILER
         7282  +
         7283  +  # save warnings/boilerplate of simple test code
         7284  +  _LT_COMPILER_BOILERPLATE
         7285  +  _LT_LINKER_BOILERPLATE
         7286  +
         7287  +  # Allow CC to be a program name with arguments.
         7288  +  lt_save_CC="$CC"
         7289  +  lt_save_GCC=$GCC
         7290  +  lt_save_CFLAGS=$CFLAGS
         7291  +  CC=${FC-"f95"}
         7292  +  CFLAGS=$FCFLAGS
         7293  +  compiler=$CC
         7294  +  GCC=$ac_cv_fc_compiler_gnu
         7295  +
         7296  +  _LT_TAGVAR(compiler, $1)=$CC
         7297  +  _LT_CC_BASENAME([$compiler])
         7298  +
         7299  +  if test -n "$compiler"; then
         7300  +    AC_MSG_CHECKING([if libtool supports shared libraries])
         7301  +    AC_MSG_RESULT([$can_build_shared])
         7302  +
         7303  +    AC_MSG_CHECKING([whether to build shared libraries])
         7304  +    test "$can_build_shared" = "no" && enable_shared=no
         7305  +
         7306  +    # On AIX, shared libraries and static libraries use the same namespace, and
         7307  +    # are all built from PIC.
         7308  +    case $host_os in
         7309  +      aix3*)
         7310  +        test "$enable_shared" = yes && enable_static=no
         7311  +        if test -n "$RANLIB"; then
         7312  +          archive_cmds="$archive_cmds~\$RANLIB \$lib"
         7313  +          postinstall_cmds='$RANLIB $lib'
         7314  +        fi
         7315  +        ;;
         7316  +      aix[[4-9]]*)
         7317  +	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
         7318  +	  test "$enable_shared" = yes && enable_static=no
         7319  +	fi
         7320  +        ;;
         7321  +    esac
         7322  +    AC_MSG_RESULT([$enable_shared])
         7323  +
         7324  +    AC_MSG_CHECKING([whether to build static libraries])
         7325  +    # Make sure either enable_shared or enable_static is yes.
         7326  +    test "$enable_shared" = yes || enable_static=yes
         7327  +    AC_MSG_RESULT([$enable_static])
         7328  +
         7329  +    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
         7330  +    _LT_TAGVAR(LD, $1)="$LD"
         7331  +
         7332  +    ## CAVEAT EMPTOR:
         7333  +    ## There is no encapsulation within the following macros, do not change
         7334  +    ## the running order or otherwise move them around unless you know exactly
         7335  +    ## what you are doing...
         7336  +    _LT_SYS_HIDDEN_LIBDEPS($1)
         7337  +    _LT_COMPILER_PIC($1)
         7338  +    _LT_COMPILER_C_O($1)
         7339  +    _LT_COMPILER_FILE_LOCKS($1)
         7340  +    _LT_LINKER_SHLIBS($1)
         7341  +    _LT_SYS_DYNAMIC_LINKER($1)
         7342  +    _LT_LINKER_HARDCODE_LIBPATH($1)
         7343  +
         7344  +    _LT_CONFIG($1)
         7345  +  fi # test -n "$compiler"
         7346  +
         7347  +  GCC=$lt_save_GCC
         7348  +  CC=$lt_save_CC
         7349  +  CFLAGS=$lt_save_CFLAGS
         7350  +fi # test "$_lt_disable_FC" != yes
         7351  +
         7352  +AC_LANG_POP
         7353  +])# _LT_LANG_FC_CONFIG
         7354  +
         7355  +
         7356  +# _LT_LANG_GCJ_CONFIG([TAG])
         7357  +# --------------------------
         7358  +# Ensure that the configuration variables for the GNU Java Compiler compiler
         7359  +# are suitably defined.  These variables are subsequently used by _LT_CONFIG
         7360  +# to write the compiler configuration to `libtool'.
         7361  +m4_defun([_LT_LANG_GCJ_CONFIG],
         7362  +[AC_REQUIRE([LT_PROG_GCJ])dnl
         7363  +AC_LANG_SAVE
         7364  +
         7365  +# Source file extension for Java test sources.
         7366  +ac_ext=java
         7367  +
         7368  +# Object file extension for compiled Java test sources.
         7369  +objext=o
         7370  +_LT_TAGVAR(objext, $1)=$objext
         7371  +
         7372  +# Code to be used in simple compile tests
         7373  +lt_simple_compile_test_code="class foo {}"
         7374  +
         7375  +# Code to be used in simple link tests
         7376  +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
         7377  +
         7378  +# ltmain only uses $CC for tagged configurations so make sure $CC is set.
         7379  +_LT_TAG_COMPILER
         7380  +
         7381  +# save warnings/boilerplate of simple test code
         7382  +_LT_COMPILER_BOILERPLATE
         7383  +_LT_LINKER_BOILERPLATE
         7384  +
         7385  +# Allow CC to be a program name with arguments.
         7386  +lt_save_CC=$CC
         7387  +lt_save_CFLAGS=$CFLAGS
         7388  +lt_save_GCC=$GCC
         7389  +GCC=yes
         7390  +CC=${GCJ-"gcj"}
         7391  +CFLAGS=$GCJFLAGS
         7392  +compiler=$CC
         7393  +_LT_TAGVAR(compiler, $1)=$CC
         7394  +_LT_TAGVAR(LD, $1)="$LD"
         7395  +_LT_CC_BASENAME([$compiler])
         7396  +
         7397  +# GCJ did not exist at the time GCC didn't implicitly link libc in.
         7398  +_LT_TAGVAR(archive_cmds_need_lc, $1)=no
         7399  +
         7400  +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
         7401  +_LT_TAGVAR(reload_flag, $1)=$reload_flag
         7402  +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
         7403  +
         7404  +## CAVEAT EMPTOR:
         7405  +## There is no encapsulation within the following macros, do not change
         7406  +## the running order or otherwise move them around unless you know exactly
         7407  +## what you are doing...
         7408  +if test -n "$compiler"; then
         7409  +  _LT_COMPILER_NO_RTTI($1)
         7410  +  _LT_COMPILER_PIC($1)
         7411  +  _LT_COMPILER_C_O($1)
         7412  +  _LT_COMPILER_FILE_LOCKS($1)
         7413  +  _LT_LINKER_SHLIBS($1)
         7414  +  _LT_LINKER_HARDCODE_LIBPATH($1)
         7415  +
         7416  +  _LT_CONFIG($1)
         7417  +fi
         7418  +
         7419  +AC_LANG_RESTORE
         7420  +
         7421  +GCC=$lt_save_GCC
         7422  +CC=$lt_save_CC
         7423  +CFLAGS=$lt_save_CFLAGS
         7424  +])# _LT_LANG_GCJ_CONFIG
         7425  +
         7426  +
         7427  +# _LT_LANG_RC_CONFIG([TAG])
         7428  +# -------------------------
         7429  +# Ensure that the configuration variables for the Windows resource compiler
         7430  +# are suitably defined.  These variables are subsequently used by _LT_CONFIG
         7431  +# to write the compiler configuration to `libtool'.
         7432  +m4_defun([_LT_LANG_RC_CONFIG],
         7433  +[AC_REQUIRE([LT_PROG_RC])dnl
         7434  +AC_LANG_SAVE
         7435  +
         7436  +# Source file extension for RC test sources.
         7437  +ac_ext=rc
         7438  +
         7439  +# Object file extension for compiled RC test sources.
         7440  +objext=o
         7441  +_LT_TAGVAR(objext, $1)=$objext
         7442  +
         7443  +# Code to be used in simple compile tests
         7444  +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
         7445  +
         7446  +# Code to be used in simple link tests
         7447  +lt_simple_link_test_code="$lt_simple_compile_test_code"
         7448  +
         7449  +# ltmain only uses $CC for tagged configurations so make sure $CC is set.
         7450  +_LT_TAG_COMPILER
         7451  +
         7452  +# save warnings/boilerplate of simple test code
         7453  +_LT_COMPILER_BOILERPLATE
         7454  +_LT_LINKER_BOILERPLATE
         7455  +
         7456  +# Allow CC to be a program name with arguments.
         7457  +lt_save_CC="$CC"
         7458  +lt_save_CFLAGS=$CFLAGS
         7459  +lt_save_GCC=$GCC
         7460  +GCC=
         7461  +CC=${RC-"windres"}
         7462  +CFLAGS=
         7463  +compiler=$CC
         7464  +_LT_TAGVAR(compiler, $1)=$CC
         7465  +_LT_CC_BASENAME([$compiler])
         7466  +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
         7467  +
         7468  +if test -n "$compiler"; then
         7469  +  :
         7470  +  _LT_CONFIG($1)
         7471  +fi
         7472  +
         7473  +GCC=$lt_save_GCC
         7474  +AC_LANG_RESTORE
         7475  +CC=$lt_save_CC
         7476  +CFLAGS=$lt_save_CFLAGS
         7477  +])# _LT_LANG_RC_CONFIG
         7478  +
         7479  +
         7480  +# LT_PROG_GCJ
         7481  +# -----------
         7482  +AC_DEFUN([LT_PROG_GCJ],
         7483  +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
         7484  +  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
         7485  +    [AC_CHECK_TOOL(GCJ, gcj,)
         7486  +      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
         7487  +      AC_SUBST(GCJFLAGS)])])[]dnl
         7488  +])
         7489  +
         7490  +# Old name:
         7491  +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
         7492  +dnl aclocal-1.4 backwards compatibility:
         7493  +dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
         7494  +
         7495  +
         7496  +# LT_PROG_RC
         7497  +# ----------
         7498  +AC_DEFUN([LT_PROG_RC],
         7499  +[AC_CHECK_TOOL(RC, windres,)
         7500  +])
         7501  +
         7502  +# Old name:
         7503  +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
         7504  +dnl aclocal-1.4 backwards compatibility:
         7505  +dnl AC_DEFUN([LT_AC_PROG_RC], [])
         7506  +
         7507  +
         7508  +# _LT_DECL_EGREP
         7509  +# --------------
         7510  +# If we don't have a new enough Autoconf to choose the best grep
         7511  +# available, choose the one first in the user's PATH.
         7512  +m4_defun([_LT_DECL_EGREP],
         7513  +[AC_REQUIRE([AC_PROG_EGREP])dnl
         7514  +AC_REQUIRE([AC_PROG_FGREP])dnl
         7515  +test -z "$GREP" && GREP=grep
         7516  +_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
         7517  +_LT_DECL([], [EGREP], [1], [An ERE matcher])
         7518  +_LT_DECL([], [FGREP], [1], [A literal string matcher])
         7519  +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
         7520  +AC_SUBST([GREP])
         7521  +])
         7522  +
         7523  +
         7524  +# _LT_DECL_OBJDUMP
         7525  +# --------------
         7526  +# If we don't have a new enough Autoconf to choose the best objdump
         7527  +# available, choose the one first in the user's PATH.
         7528  +m4_defun([_LT_DECL_OBJDUMP],
         7529  +[AC_CHECK_TOOL(OBJDUMP, objdump, false)
         7530  +test -z "$OBJDUMP" && OBJDUMP=objdump
         7531  +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
         7532  +AC_SUBST([OBJDUMP])
         7533  +])
         7534  +
         7535  +# _LT_DECL_DLLTOOL
         7536  +# ----------------
         7537  +# Ensure DLLTOOL variable is set.
         7538  +m4_defun([_LT_DECL_DLLTOOL],
         7539  +[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
         7540  +test -z "$DLLTOOL" && DLLTOOL=dlltool
         7541  +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
         7542  +AC_SUBST([DLLTOOL])
         7543  +])
         7544  +
         7545  +# _LT_DECL_SED
         7546  +# ------------
         7547  +# Check for a fully-functional sed program, that truncates
         7548  +# as few characters as possible.  Prefer GNU sed if found.
         7549  +m4_defun([_LT_DECL_SED],
         7550  +[AC_PROG_SED
         7551  +test -z "$SED" && SED=sed
         7552  +Xsed="$SED -e 1s/^X//"
         7553  +_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
         7554  +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
         7555  +    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
         7556  +])# _LT_DECL_SED
         7557  +
         7558  +m4_ifndef([AC_PROG_SED], [
         7559  +############################################################
         7560  +# NOTE: This macro has been submitted for inclusion into   #
         7561  +#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
         7562  +#  a released version of Autoconf we should remove this    #
         7563  +#  macro and use it instead.                               #
         7564  +############################################################
         7565  +
         7566  +m4_defun([AC_PROG_SED],
         7567  +[AC_MSG_CHECKING([for a sed that does not truncate output])
         7568  +AC_CACHE_VAL(lt_cv_path_SED,
         7569  +[# Loop through the user's path and test for sed and gsed.
         7570  +# Then use that list of sed's as ones to test for truncation.
         7571  +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
         7572  +for as_dir in $PATH
         7573  +do
         7574  +  IFS=$as_save_IFS
         7575  +  test -z "$as_dir" && as_dir=.
         7576  +  for lt_ac_prog in sed gsed; do
         7577  +    for ac_exec_ext in '' $ac_executable_extensions; do
         7578  +      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
         7579  +        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
         7580  +      fi
         7581  +    done
         7582  +  done
         7583  +done
         7584  +IFS=$as_save_IFS
         7585  +lt_ac_max=0
         7586  +lt_ac_count=0
         7587  +# Add /usr/xpg4/bin/sed as it is typically found on Solaris
         7588  +# along with /bin/sed that truncates output.
         7589  +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
         7590  +  test ! -f $lt_ac_sed && continue
         7591  +  cat /dev/null > conftest.in
         7592  +  lt_ac_count=0
         7593  +  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
         7594  +  # Check for GNU sed and select it if it is found.
         7595  +  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
         7596  +    lt_cv_path_SED=$lt_ac_sed
         7597  +    break
         7598  +  fi
         7599  +  while true; do
         7600  +    cat conftest.in conftest.in >conftest.tmp
         7601  +    mv conftest.tmp conftest.in
         7602  +    cp conftest.in conftest.nl
         7603  +    echo >>conftest.nl
         7604  +    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
         7605  +    cmp -s conftest.out conftest.nl || break
         7606  +    # 10000 chars as input seems more than enough
         7607  +    test $lt_ac_count -gt 10 && break
         7608  +    lt_ac_count=`expr $lt_ac_count + 1`
         7609  +    if test $lt_ac_count -gt $lt_ac_max; then
         7610  +      lt_ac_max=$lt_ac_count
         7611  +      lt_cv_path_SED=$lt_ac_sed
         7612  +    fi
         7613  +  done
         7614  +done
         7615  +])
         7616  +SED=$lt_cv_path_SED
         7617  +AC_SUBST([SED])
         7618  +AC_MSG_RESULT([$SED])
         7619  +])#AC_PROG_SED
         7620  +])#m4_ifndef
         7621  +
         7622  +# Old name:
         7623  +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
         7624  +dnl aclocal-1.4 backwards compatibility:
         7625  +dnl AC_DEFUN([LT_AC_PROG_SED], [])
         7626  +
         7627  +
         7628  +# _LT_CHECK_SHELL_FEATURES
         7629  +# ------------------------
         7630  +# Find out whether the shell is Bourne or XSI compatible,
         7631  +# or has some other useful features.
         7632  +m4_defun([_LT_CHECK_SHELL_FEATURES],
         7633  +[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
         7634  +# Try some XSI features
         7635  +xsi_shell=no
         7636  +( _lt_dummy="a/b/c"
         7637  +  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
         7638  +      = c,a/b,b/c, \
         7639  +    && eval 'test $(( 1 + 1 )) -eq 2 \
         7640  +    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
         7641  +  && xsi_shell=yes
         7642  +AC_MSG_RESULT([$xsi_shell])
         7643  +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
         7644  +
         7645  +AC_MSG_CHECKING([whether the shell understands "+="])
         7646  +lt_shell_append=no
         7647  +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
         7648  +    >/dev/null 2>&1 \
         7649  +  && lt_shell_append=yes
         7650  +AC_MSG_RESULT([$lt_shell_append])
         7651  +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
         7652  +
         7653  +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
         7654  +  lt_unset=unset
         7655  +else
         7656  +  lt_unset=false
         7657  +fi
         7658  +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
         7659  +
         7660  +# test EBCDIC or ASCII
         7661  +case `echo X|tr X '\101'` in
         7662  + A) # ASCII based system
         7663  +    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
         7664  +  lt_SP2NL='tr \040 \012'
         7665  +  lt_NL2SP='tr \015\012 \040\040'
         7666  +  ;;
         7667  + *) # EBCDIC based system
         7668  +  lt_SP2NL='tr \100 \n'
         7669  +  lt_NL2SP='tr \r\n \100\100'
         7670  +  ;;
         7671  +esac
         7672  +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
         7673  +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
         7674  +])# _LT_CHECK_SHELL_FEATURES
         7675  +
         7676  +
         7677  +# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
         7678  +# ------------------------------------------------------
         7679  +# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
         7680  +# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
         7681  +m4_defun([_LT_PROG_FUNCTION_REPLACE],
         7682  +[dnl {
         7683  +sed -e '/^$1 ()$/,/^} # $1 /c\
         7684  +$1 ()\
         7685  +{\
         7686  +m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
         7687  +} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
         7688  +  && mv -f "$cfgfile.tmp" "$cfgfile" \
         7689  +    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
         7690  +test 0 -eq $? || _lt_function_replace_fail=:
         7691  +])
         7692  +
         7693  +
         7694  +# _LT_PROG_REPLACE_SHELLFNS
         7695  +# -------------------------
         7696  +# Replace existing portable implementations of several shell functions with
         7697  +# equivalent extended shell implementations where those features are available..
         7698  +m4_defun([_LT_PROG_REPLACE_SHELLFNS],
         7699  +[if test x"$xsi_shell" = xyes; then
         7700  +  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
         7701  +    case ${1} in
         7702  +      */*) func_dirname_result="${1%/*}${2}" ;;
         7703  +      *  ) func_dirname_result="${3}" ;;
         7704  +    esac])
         7705  +
         7706  +  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
         7707  +    func_basename_result="${1##*/}"])
         7708  +
         7709  +  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
         7710  +    case ${1} in
         7711  +      */*) func_dirname_result="${1%/*}${2}" ;;
         7712  +      *  ) func_dirname_result="${3}" ;;
         7713  +    esac
         7714  +    func_basename_result="${1##*/}"])
         7715  +
         7716  +  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
         7717  +    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
         7718  +    # positional parameters, so assign one to ordinary parameter first.
         7719  +    func_stripname_result=${3}
         7720  +    func_stripname_result=${func_stripname_result#"${1}"}
         7721  +    func_stripname_result=${func_stripname_result%"${2}"}])
         7722  +
         7723  +  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
         7724  +    func_split_long_opt_name=${1%%=*}
         7725  +    func_split_long_opt_arg=${1#*=}])
         7726  +
         7727  +  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
         7728  +    func_split_short_opt_arg=${1#??}
         7729  +    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
         7730  +
         7731  +  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
         7732  +    case ${1} in
         7733  +      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
         7734  +      *)    func_lo2o_result=${1} ;;
         7735  +    esac])
         7736  +
         7737  +  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
         7738  +
         7739  +  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
         7740  +
         7741  +  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
         7742  +fi
         7743  +
         7744  +if test x"$lt_shell_append" = xyes; then
         7745  +  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
         7746  +
         7747  +  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
         7748  +    func_quote_for_eval "${2}"
         7749  +dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
         7750  +    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
         7751  +
         7752  +  # Save a `func_append' function call where possible by direct use of '+='
         7753  +  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
         7754  +    && mv -f "$cfgfile.tmp" "$cfgfile" \
         7755  +      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
         7756  +  test 0 -eq $? || _lt_function_replace_fail=:
         7757  +else
         7758  +  # Save a `func_append' function call even when '+=' is not available
         7759  +  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
         7760  +    && mv -f "$cfgfile.tmp" "$cfgfile" \
         7761  +      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
         7762  +  test 0 -eq $? || _lt_function_replace_fail=:
         7763  +fi
         7764  +
         7765  +if test x"$_lt_function_replace_fail" = x":"; then
         7766  +  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
         7767  +fi
         7768  +])
         7769  +
         7770  +# _LT_PATH_CONVERSION_FUNCTIONS
         7771  +# -----------------------------
         7772  +# Determine which file name conversion functions should be used by
         7773  +# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
         7774  +# for certain cross-compile configurations and native mingw.
         7775  +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
         7776  +[AC_REQUIRE([AC_CANONICAL_HOST])dnl
         7777  +AC_REQUIRE([AC_CANONICAL_BUILD])dnl
         7778  +AC_MSG_CHECKING([how to convert $build file names to $host format])
         7779  +AC_CACHE_VAL(lt_cv_to_host_file_cmd,
         7780  +[case $host in
         7781  +  *-*-mingw* )
         7782  +    case $build in
         7783  +      *-*-mingw* ) # actually msys
         7784  +        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
         7785  +        ;;
         7786  +      *-*-cygwin* )
         7787  +        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
         7788  +        ;;
         7789  +      * ) # otherwise, assume *nix
         7790  +        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
         7791  +        ;;
         7792  +    esac
         7793  +    ;;
         7794  +  *-*-cygwin* )
         7795  +    case $build in
         7796  +      *-*-mingw* ) # actually msys
         7797  +        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
         7798  +        ;;
         7799  +      *-*-cygwin* )
         7800  +        lt_cv_to_host_file_cmd=func_convert_file_noop
         7801  +        ;;
         7802  +      * ) # otherwise, assume *nix
         7803  +        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
         7804  +        ;;
         7805  +    esac
         7806  +    ;;
         7807  +  * ) # unhandled hosts (and "normal" native builds)
         7808  +    lt_cv_to_host_file_cmd=func_convert_file_noop
         7809  +    ;;
         7810  +esac
         7811  +])
         7812  +to_host_file_cmd=$lt_cv_to_host_file_cmd
         7813  +AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
         7814  +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
         7815  +         [0], [convert $build file names to $host format])dnl
         7816  +
         7817  +AC_MSG_CHECKING([how to convert $build file names to toolchain format])
         7818  +AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
         7819  +[#assume ordinary cross tools, or native build.
         7820  +lt_cv_to_tool_file_cmd=func_convert_file_noop
         7821  +case $host in
         7822  +  *-*-mingw* )
         7823  +    case $build in
         7824  +      *-*-mingw* ) # actually msys
         7825  +        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
         7826  +        ;;
         7827  +    esac
         7828  +    ;;
         7829  +esac
         7830  +])
         7831  +to_tool_file_cmd=$lt_cv_to_tool_file_cmd
         7832  +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
         7833  +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
         7834  +         [0], [convert $build files to toolchain format])dnl
         7835  +])# _LT_PATH_CONVERSION_FUNCTIONS

Added m4/ltoptions.m4.

            1  +# Helper functions for option handling.                    -*- Autoconf -*-
            2  +#
            3  +#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
            4  +#   Inc.
            5  +#   Written by Gary V. Vaughan, 2004
            6  +#
            7  +# This file is free software; the Free Software Foundation gives
            8  +# unlimited permission to copy and/or distribute it, with or without
            9  +# modifications, as long as this notice is preserved.
           10  +
           11  +# serial 7 ltoptions.m4
           12  +
           13  +# This is to help aclocal find these macros, as it can't see m4_define.
           14  +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
           15  +
           16  +
           17  +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
           18  +# ------------------------------------------
           19  +m4_define([_LT_MANGLE_OPTION],
           20  +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
           21  +
           22  +
           23  +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
           24  +# ---------------------------------------
           25  +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
           26  +# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
           27  +# saved as a flag.
           28  +m4_define([_LT_SET_OPTION],
           29  +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
           30  +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
           31  +        _LT_MANGLE_DEFUN([$1], [$2]),
           32  +    [m4_warning([Unknown $1 option `$2'])])[]dnl
           33  +])
           34  +
           35  +
           36  +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
           37  +# ------------------------------------------------------------
           38  +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
           39  +m4_define([_LT_IF_OPTION],
           40  +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
           41  +
           42  +
           43  +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
           44  +# -------------------------------------------------------
           45  +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
           46  +# are set.
           47  +m4_define([_LT_UNLESS_OPTIONS],
           48  +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
           49  +	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
           50  +		      [m4_define([$0_found])])])[]dnl
           51  +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
           52  +])[]dnl
           53  +])
           54  +
           55  +
           56  +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
           57  +# ----------------------------------------
           58  +# OPTION-LIST is a space-separated list of Libtool options associated
           59  +# with MACRO-NAME.  If any OPTION has a matching handler declared with
           60  +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
           61  +# the unknown option and exit.
           62  +m4_defun([_LT_SET_OPTIONS],
           63  +[# Set options
           64  +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
           65  +    [_LT_SET_OPTION([$1], _LT_Option)])
           66  +
           67  +m4_if([$1],[LT_INIT],[
           68  +  dnl
           69  +  dnl Simply set some default values (i.e off) if boolean options were not
           70  +  dnl specified:
           71  +  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
           72  +  ])
           73  +  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
           74  +  ])
           75  +  dnl
           76  +  dnl If no reference was made to various pairs of opposing options, then
           77  +  dnl we run the default mode handler for the pair.  For example, if neither
           78  +  dnl `shared' nor `disable-shared' was passed, we enable building of shared
           79  +  dnl archives by default:
           80  +  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
           81  +  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
           82  +  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
           83  +  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
           84  +  		   [_LT_ENABLE_FAST_INSTALL])
           85  +  ])
           86  +])# _LT_SET_OPTIONS
           87  +
           88  +
           89  +## --------------------------------- ##
           90  +## Macros to handle LT_INIT options. ##
           91  +## --------------------------------- ##
           92  +
           93  +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
           94  +# -----------------------------------------
           95  +m4_define([_LT_MANGLE_DEFUN],
           96  +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
           97  +
           98  +
           99  +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
          100  +# -----------------------------------------------
          101  +m4_define([LT_OPTION_DEFINE],
          102  +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
          103  +])# LT_OPTION_DEFINE
          104  +
          105  +
          106  +# dlopen
          107  +# ------
          108  +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
          109  +])
          110  +
          111  +AU_DEFUN([AC_LIBTOOL_DLOPEN],
          112  +[_LT_SET_OPTION([LT_INIT], [dlopen])
          113  +AC_DIAGNOSE([obsolete],
          114  +[$0: Remove this warning and the call to _LT_SET_OPTION when you
          115  +put the `dlopen' option into LT_INIT's first parameter.])
          116  +])
          117  +
          118  +dnl aclocal-1.4 backwards compatibility:
          119  +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
          120  +
          121  +
          122  +# win32-dll
          123  +# ---------
          124  +# Declare package support for building win32 dll's.
          125  +LT_OPTION_DEFINE([LT_INIT], [win32-dll],
          126  +[enable_win32_dll=yes
          127  +
          128  +case $host in
          129  +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
          130  +  AC_CHECK_TOOL(AS, as, false)
          131  +  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
          132  +  AC_CHECK_TOOL(OBJDUMP, objdump, false)
          133  +  ;;
          134  +esac
          135  +
          136  +test -z "$AS" && AS=as
          137  +_LT_DECL([], [AS],      [1], [Assembler program])dnl
          138  +
          139  +test -z "$DLLTOOL" && DLLTOOL=dlltool
          140  +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
          141  +
          142  +test -z "$OBJDUMP" && OBJDUMP=objdump
          143  +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
          144  +])# win32-dll
          145  +
          146  +AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
          147  +[AC_REQUIRE([AC_CANONICAL_HOST])dnl
          148  +_LT_SET_OPTION([LT_INIT], [win32-dll])
          149  +AC_DIAGNOSE([obsolete],
          150  +[$0: Remove this warning and the call to _LT_SET_OPTION when you
          151  +put the `win32-dll' option into LT_INIT's first parameter.])
          152  +])
          153  +
          154  +dnl aclocal-1.4 backwards compatibility:
          155  +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
          156  +
          157  +
          158  +# _LT_ENABLE_SHARED([DEFAULT])
          159  +# ----------------------------
          160  +# implement the --enable-shared flag, and supports the `shared' and
          161  +# `disable-shared' LT_INIT options.
          162  +# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
          163  +m4_define([_LT_ENABLE_SHARED],
          164  +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
          165  +AC_ARG_ENABLE([shared],
          166  +    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
          167  +	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
          168  +    [p=${PACKAGE-default}
          169  +    case $enableval in
          170  +    yes) enable_shared=yes ;;
          171  +    no) enable_shared=no ;;
          172  +    *)
          173  +      enable_shared=no
          174  +      # Look at the argument we got.  We use all the common list separators.
          175  +      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
          176  +      for pkg in $enableval; do
          177  +	IFS="$lt_save_ifs"
          178  +	if test "X$pkg" = "X$p"; then
          179  +	  enable_shared=yes
          180  +	fi
          181  +      done
          182  +      IFS="$lt_save_ifs"
          183  +      ;;
          184  +    esac],
          185  +    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
          186  +
          187  +    _LT_DECL([build_libtool_libs], [enable_shared], [0],
          188  +	[Whether or not to build shared libraries])
          189  +])# _LT_ENABLE_SHARED
          190  +
          191  +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
          192  +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
          193  +
          194  +# Old names:
          195  +AC_DEFUN([AC_ENABLE_SHARED],
          196  +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
          197  +])
          198  +
          199  +AC_DEFUN([AC_DISABLE_SHARED],
          200  +[_LT_SET_OPTION([LT_INIT], [disable-shared])
          201  +])
          202  +
          203  +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
          204  +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
          205  +
          206  +dnl aclocal-1.4 backwards compatibility:
          207  +dnl AC_DEFUN([AM_ENABLE_SHARED], [])
          208  +dnl AC_DEFUN([AM_DISABLE_SHARED], [])
          209  +
          210  +
          211  +
          212  +# _LT_ENABLE_STATIC([DEFAULT])
          213  +# ----------------------------
          214  +# implement the --enable-static flag, and support the `static' and
          215  +# `disable-static' LT_INIT options.
          216  +# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
          217  +m4_define([_LT_ENABLE_STATIC],
          218  +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
          219  +AC_ARG_ENABLE([static],
          220  +    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
          221  +	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
          222  +    [p=${PACKAGE-default}
          223  +    case $enableval in
          224  +    yes) enable_static=yes ;;
          225  +    no) enable_static=no ;;
          226  +    *)
          227  +     enable_static=no
          228  +      # Look at the argument we got.  We use all the common list separators.
          229  +      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
          230  +      for pkg in $enableval; do
          231  +	IFS="$lt_save_ifs"
          232  +	if test "X$pkg" = "X$p"; then
          233  +	  enable_static=yes
          234  +	fi
          235  +      done
          236  +      IFS="$lt_save_ifs"
          237  +      ;;
          238  +    esac],
          239  +    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
          240  +
          241  +    _LT_DECL([build_old_libs], [enable_static], [0],
          242  +	[Whether or not to build static libraries])
          243  +])# _LT_ENABLE_STATIC
          244  +
          245  +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
          246  +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
          247  +
          248  +# Old names:
          249  +AC_DEFUN([AC_ENABLE_STATIC],
          250  +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
          251  +])
          252  +
          253  +AC_DEFUN([AC_DISABLE_STATIC],
          254  +[_LT_SET_OPTION([LT_INIT], [disable-static])
          255  +])
          256  +
          257  +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
          258  +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
          259  +
          260  +dnl aclocal-1.4 backwards compatibility:
          261  +dnl AC_DEFUN([AM_ENABLE_STATIC], [])
          262  +dnl AC_DEFUN([AM_DISABLE_STATIC], [])
          263  +
          264  +
          265  +
          266  +# _LT_ENABLE_FAST_INSTALL([DEFAULT])
          267  +# ----------------------------------
          268  +# implement the --enable-fast-install flag, and support the `fast-install'
          269  +# and `disable-fast-install' LT_INIT options.
          270  +# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
          271  +m4_define([_LT_ENABLE_FAST_INSTALL],
          272  +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
          273  +AC_ARG_ENABLE([fast-install],
          274  +    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
          275  +    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
          276  +    [p=${PACKAGE-default}
          277  +    case $enableval in
          278  +    yes) enable_fast_install=yes ;;
          279  +    no) enable_fast_install=no ;;
          280  +    *)
          281  +      enable_fast_install=no
          282  +      # Look at the argument we got.  We use all the common list separators.
          283  +      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
          284  +      for pkg in $enableval; do
          285  +	IFS="$lt_save_ifs"
          286  +	if test "X$pkg" = "X$p"; then
          287  +	  enable_fast_install=yes
          288  +	fi
          289  +      done
          290  +      IFS="$lt_save_ifs"
          291  +      ;;
          292  +    esac],
          293  +    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
          294  +
          295  +_LT_DECL([fast_install], [enable_fast_install], [0],
          296  +	 [Whether or not to optimize for fast installation])dnl
          297  +])# _LT_ENABLE_FAST_INSTALL
          298  +
          299  +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
          300  +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
          301  +
          302  +# Old names:
          303  +AU_DEFUN([AC_ENABLE_FAST_INSTALL],
          304  +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
          305  +AC_DIAGNOSE([obsolete],
          306  +[$0: Remove this warning and the call to _LT_SET_OPTION when you put
          307  +the `fast-install' option into LT_INIT's first parameter.])
          308  +])
          309  +
          310  +AU_DEFUN([AC_DISABLE_FAST_INSTALL],
          311  +[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
          312  +AC_DIAGNOSE([obsolete],
          313  +[$0: Remove this warning and the call to _LT_SET_OPTION when you put
          314  +the `disable-fast-install' option into LT_INIT's first parameter.])
          315  +])
          316  +
          317  +dnl aclocal-1.4 backwards compatibility:
          318  +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
          319  +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
          320  +
          321  +
          322  +# _LT_WITH_PIC([MODE])
          323  +# --------------------
          324  +# implement the --with-pic flag, and support the `pic-only' and `no-pic'
          325  +# LT_INIT options.
          326  +# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
          327  +m4_define([_LT_WITH_PIC],
          328  +[AC_ARG_WITH([pic],
          329  +    [AS_HELP_STRING([--with-pic],
          330  +	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
          331  +    [pic_mode="$withval"],
          332  +    [pic_mode=default])
          333  +
          334  +test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
          335  +
          336  +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
          337  +])# _LT_WITH_PIC
          338  +
          339  +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
          340  +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
          341  +
          342  +# Old name:
          343  +AU_DEFUN([AC_LIBTOOL_PICMODE],
          344  +[_LT_SET_OPTION([LT_INIT], [pic-only])
          345  +AC_DIAGNOSE([obsolete],
          346  +[$0: Remove this warning and the call to _LT_SET_OPTION when you
          347  +put the `pic-only' option into LT_INIT's first parameter.])
          348  +])
          349  +
          350  +dnl aclocal-1.4 backwards compatibility:
          351  +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
          352  +
          353  +## ----------------- ##
          354  +## LTDL_INIT Options ##
          355  +## ----------------- ##
          356  +
          357  +m4_define([_LTDL_MODE], [])
          358  +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
          359  +		 [m4_define([_LTDL_MODE], [nonrecursive])])
          360  +LT_OPTION_DEFINE([LTDL_INIT], [recursive],
          361  +		 [m4_define([_LTDL_MODE], [recursive])])
          362  +LT_OPTION_DEFINE([LTDL_INIT], [subproject],
          363  +		 [m4_define([_LTDL_MODE], [subproject])])
          364  +
          365  +m4_define([_LTDL_TYPE], [])
          366  +LT_OPTION_DEFINE([LTDL_INIT], [installable],
          367  +		 [m4_define([_LTDL_TYPE], [installable])])
          368  +LT_OPTION_DEFINE([LTDL_INIT], [convenience],
          369  +		 [m4_define([_LTDL_TYPE], [convenience])])

Added m4/ltsugar.m4.

            1  +# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
            2  +#
            3  +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
            4  +# Written by Gary V. Vaughan, 2004
            5  +#
            6  +# This file is free software; the Free Software Foundation gives
            7  +# unlimited permission to copy and/or distribute it, with or without
            8  +# modifications, as long as this notice is preserved.
            9  +
           10  +# serial 6 ltsugar.m4
           11  +
           12  +# This is to help aclocal find these macros, as it can't see m4_define.
           13  +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
           14  +
           15  +
           16  +# lt_join(SEP, ARG1, [ARG2...])
           17  +# -----------------------------
           18  +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
           19  +# associated separator.
           20  +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
           21  +# versions in m4sugar had bugs.
           22  +m4_define([lt_join],
           23  +[m4_if([$#], [1], [],
           24  +       [$#], [2], [[$2]],
           25  +       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
           26  +m4_define([_lt_join],
           27  +[m4_if([$#$2], [2], [],
           28  +       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
           29  +
           30  +
           31  +# lt_car(LIST)
           32  +# lt_cdr(LIST)
           33  +# ------------
           34  +# Manipulate m4 lists.
           35  +# These macros are necessary as long as will still need to support
           36  +# Autoconf-2.59 which quotes differently.
           37  +m4_define([lt_car], [[$1]])
           38  +m4_define([lt_cdr],
           39  +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
           40  +       [$#], 1, [],
           41  +       [m4_dquote(m4_shift($@))])])
           42  +m4_define([lt_unquote], $1)
           43  +
           44  +
           45  +# lt_append(MACRO-NAME, STRING, [SEPARATOR])
           46  +# ------------------------------------------
           47  +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
           48  +# Note that neither SEPARATOR nor STRING are expanded; they are appended
           49  +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
           50  +# No SEPARATOR is output if MACRO-NAME was previously undefined (different
           51  +# than defined and empty).
           52  +#
           53  +# This macro is needed until we can rely on Autoconf 2.62, since earlier
           54  +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
           55  +m4_define([lt_append],
           56  +[m4_define([$1],
           57  +	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
           58  +
           59  +
           60  +
           61  +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
           62  +# ----------------------------------------------------------
           63  +# Produce a SEP delimited list of all paired combinations of elements of
           64  +# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
           65  +# has the form PREFIXmINFIXSUFFIXn.
           66  +# Needed until we can rely on m4_combine added in Autoconf 2.62.
           67  +m4_define([lt_combine],
           68  +[m4_if(m4_eval([$# > 3]), [1],
           69  +       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
           70  +[[m4_foreach([_Lt_prefix], [$2],
           71  +	     [m4_foreach([_Lt_suffix],
           72  +		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
           73  +	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
           74  +
           75  +
           76  +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
           77  +# -----------------------------------------------------------------------
           78  +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
           79  +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
           80  +m4_define([lt_if_append_uniq],
           81  +[m4_ifdef([$1],
           82  +	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
           83  +		 [lt_append([$1], [$2], [$3])$4],
           84  +		 [$5])],
           85  +	  [lt_append([$1], [$2], [$3])$4])])
           86  +
           87  +
           88  +# lt_dict_add(DICT, KEY, VALUE)
           89  +# -----------------------------
           90  +m4_define([lt_dict_add],
           91  +[m4_define([$1($2)], [$3])])
           92  +
           93  +
           94  +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
           95  +# --------------------------------------------
           96  +m4_define([lt_dict_add_subkey],
           97  +[m4_define([$1($2:$3)], [$4])])
           98  +
           99  +
          100  +# lt_dict_fetch(DICT, KEY, [SUBKEY])
          101  +# ----------------------------------
          102  +m4_define([lt_dict_fetch],
          103  +[m4_ifval([$3],
          104  +	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
          105  +    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
          106  +
          107  +
          108  +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
          109  +# -----------------------------------------------------------------
          110  +m4_define([lt_if_dict_fetch],
          111  +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
          112  +	[$5],
          113  +    [$6])])
          114  +
          115  +
          116  +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
          117  +# --------------------------------------------------------------
          118  +m4_define([lt_dict_filter],
          119  +[m4_if([$5], [], [],
          120  +  [lt_join(m4_quote(m4_default([$4], [[, ]])),
          121  +           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
          122  +		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
          123  +])

Added m4/ltversion.m4.

            1  +# ltversion.m4 -- version numbers			-*- Autoconf -*-
            2  +#
            3  +#   Copyright (C) 2004 Free Software Foundation, Inc.
            4  +#   Written by Scott James Remnant, 2004
            5  +#
            6  +# This file is free software; the Free Software Foundation gives
            7  +# unlimited permission to copy and/or distribute it, with or without
            8  +# modifications, as long as this notice is preserved.
            9  +
           10  +# @configure_input@
           11  +
           12  +# serial 3293 ltversion.m4
           13  +# This file is part of GNU Libtool
           14  +
           15  +m4_define([LT_PACKAGE_VERSION], [2.4])
           16  +m4_define([LT_PACKAGE_REVISION], [1.3293])
           17  +
           18  +AC_DEFUN([LTVERSION_VERSION],
           19  +[macro_version='2.4'
           20  +macro_revision='1.3293'
           21  +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
           22  +_LT_DECL(, macro_revision, 0)
           23  +])

Added m4/lt~obsolete.m4.

            1  +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
            2  +#
            3  +#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
            4  +#   Written by Scott James Remnant, 2004.
            5  +#
            6  +# This file is free software; the Free Software Foundation gives
            7  +# unlimited permission to copy and/or distribute it, with or without
            8  +# modifications, as long as this notice is preserved.
            9  +
           10  +# serial 5 lt~obsolete.m4
           11  +
           12  +# These exist entirely to fool aclocal when bootstrapping libtool.
           13  +#
           14  +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
           15  +# which have later been changed to m4_define as they aren't part of the
           16  +# exported API, or moved to Autoconf or Automake where they belong.
           17  +#
           18  +# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
           19  +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
           20  +# using a macro with the same name in our local m4/libtool.m4 it'll
           21  +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
           22  +# and doesn't know about Autoconf macros at all.)
           23  +#
           24  +# So we provide this file, which has a silly filename so it's always
           25  +# included after everything else.  This provides aclocal with the
           26  +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
           27  +# because those macros already exist, or will be overwritten later.
           28  +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
           29  +#
           30  +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
           31  +# Yes, that means every name once taken will need to remain here until
           32  +# we give up compatibility with versions before 1.7, at which point
           33  +# we need to keep only those names which we still refer to.
           34  +
           35  +# This is to help aclocal find these macros, as it can't see m4_define.
           36  +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
           37  +
           38  +m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
           39  +m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
           40  +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
           41  +m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
           42  +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
           43  +m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
           44  +m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
           45  +m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
           46  +m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
           47  +m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
           48  +m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
           49  +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
           50  +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
           51  +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
           52  +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
           53  +m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
           54  +m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
           55  +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
           56  +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
           57  +m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
           58  +m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
           59  +m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
           60  +m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
           61  +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
           62  +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
           63  +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
           64  +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
           65  +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
           66  +m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
           67  +m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
           68  +m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
           69  +m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
           70  +m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
           71  +m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
           72  +m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
           73  +m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
           74  +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
           75  +m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
           76  +m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
           77  +m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
           78  +m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
           79  +m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
           80  +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
           81  +m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
           82  +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
           83  +m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
           84  +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
           85  +m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
           86  +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
           87  +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
           88  +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
           89  +m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
           90  +m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
           91  +m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
           92  +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
           93  +m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
           94  +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
           95  +m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
           96  +m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
           97  +m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
           98  +m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])

Added mainpage.doxy.

            1  +/** \mainpage notitle
            2  +
            3  +\section Introduction
            4  +
            5  +ReadOSM is a C open source library to extract valid data from within an Open
            6  +Street Map input file. Such OSM files come in two different formats:
            7  + - files identified by the <b>.osm</b> suffix simply are plain XML files.
            8  + - files identified by the <b>.pbf</b> suffix contain the same 
            9  +    data, but adopting the Google's Protocol Buffer serialization format (a
           10  +   more concise and compressed binary notation, thus requiring much less
           11  +   storage space).
           12  +
           13  +The ReadOSM design goals are:
           14  + - to be simple and lightweight
           15  + - to be stable, robust and efficient
           16  + - to be easily and universally portable.
           17  + - making the whole parsing process of both .osm or .pbf files 
           18  +   completely transparent from the application own perspective.
           19  +
           20  +ReadOSM is structurally simple and quite light-weight (typically about 20K of object
           21  +code, stripped). ReadOSM has only two key dependencies:
           22  + - zlib (the well known ZIP library), which is used to decompress zipped binary
           23  +   blocks internally stored within .pbf files.
           24  + - expat (a widely used XML parsing library), which is used to parse XML .osm files.
           25  + - both libraries are widely available on many platforms.
           26  +
           27  +Building and installing ReadOSM is straightforward:
           28  +\verbatim
           29  +./configure
           30  +make
           31  +make install
           32  +\endverbatim
           33  +
           34  +Linking ReadOSM to your own code is usually simple:
           35  +\verbatim
           36  +gcc my_program.c -o my_program -lreadosm
           37  +\endverbatim
           38  +
           39  +On some systems you may have to provide a slightly more complex arrangement:
           40  +\verbatim
           41  +gcc -I/usr/local/include my_program.c -o my_program \
           42  +  -L/usr/local/lib -lreadosm -lexpat -lz
           43  +\endverbatim
           44  +
           45  +ReadOSM also provides pkg-config support, so you can also do:
           46  +\verbatim
           47  +gcc `pkg-config --cflags readosm` my_program.c -o my_program `pkg-config --libs readosm`
           48  +\endverbatim
           49  +
           50  +I originally developed ReadOSM simply in order to allow the SpatiaLite's
           51  +own CLI tools to acquire both OSM .osm and .pbf files indifferently.
           52  +Anyway I feel that supporting OSM files import/parsing in a simple and easy
           53  +way could be useful to many other developers, so I quickly decided to
           54  +implement all this stuff as a self-standing library. 
           55  +
           56  +ReadOSM is licensed under the MPL tri-license terms: you are free to choose the
           57  +best-fit license between:
           58  + - the MPL 1.1 
           59  + - the GPL v2.0 or any subsequent version
           60  + - the LGPL v2.1  or any subsequent version
           61  +
           62  +Enjoy, and happy coding
           63  +*/
           64  +
           65  +/** \page intro About Open Street Map datasets
           66  +
           67  +Open Street Map aka \b OSM [http://www.openstreetmap.org/] is a very popular 
           68  +community project aimed to produced a map of the world; this map is absolutely
           69  +free and is released under the ODbL license terms 
           70  +[http://opendatacommons.org/licenses/odbl/].
           71  +
           72  +Selected portions [by Country / Region] of the OSM map are available on the
           73  +following download sites:
           74  +- http://download.geofabrik.de/
           75  +- http://downloads.cloudmade.com/
           76  +
           77  +The best known format used to ship OSM datasets is based on XML; we'll
           78  +shortly examine the XML general layout so to explain the objects used
           79  +by the OSM data model and their mutual relationships.
           80  +
           81  +\section Node
           82  +
           83  +A Node simply corresponds to a 2D POINT Geometry; the geographic coordinates
           84  +are always expressed as Longitude and Latitude (corresponding to SRID 4326).<br>
           85  +A Node doesn't simply have a geometry; it's usually characterized by several data
           86  +attributes:
           87  +- \b id: a number uniquely identifying each Node object.
           88  +- \b lon and \b lat: the geographic Longitude and Latitude of the Point.
           89  +- \b version: a progressive number identifying subsequent versions of the same object.
           90  +- \b changeset: a progressive number identifying a "changeset", i.e. a batch insert/update
           91  +performed by same user.
           92  +- \b user: nickname of the user committing the changeset.
           93  +- \b uid: a number uniquely identifying the user
           94  +- \b timestemp: commit date-time
           95  +- \b tag-list: any object may eventually be further qualified using arbitrary \b key:value pairs.
           96  +
           97  +The following is the XML general layout used to represent a Node object:
           98  +\verbatim
           99  +<node id="12345" lat="6.66666" lon="7.77777" version="1" changeset="54321" user="some-user" uid="66" timestamp="2005-02-28T17:45:15Z">
          100  +	<tag key="created_by" value="JOSM" />
          101  +	<tag key="tourism" value="camp_site" />
          102  +</node>
          103  +\endverbatim
          104  +
          105  +\section Way
          106  +
          107  +A Way corresponds to a 2D LINESTRING Geometry: anyway the vertices never are directly
          108  +defined within the Way itself; a list of indirectly referenced Nodes (<b>&lt;nd ref&gt;</b> items) is required instead.<br>
          109  +The data attributes characterizing a Way are more or less the same used for Nodes, and with identical meaning;
          110  +and for Ways too an arbitrary collection of Tags (\b key:value pairs) is supported.
          111  +
          112  +The following is the XML general layout used to represent a Way object:
          113  +\verbatim
          114  +<way id="12345" version="1" changeset="54321" user="some-user" uid="66" timestamp="2005-02-28T17:45:15Z">
          115  +	<nd ref="12345" />
          116  +	<nd ref="12346" />
          117  +	<nd ref="12347" />
          118  +	<tag key="created_by" value="JOSM" />
          119  +	<tag key="tourism" value="camp_site" />
          120  +</way>
          121  +\endverbatim
          122  +
          123  +\section Relation
          124  +
          125  +A Relation is a complex object: it can correspond to a 2D POLYGON, or to a 2D MULTILINESTRING, or even to a 2D GEOMETRYCOLLECTION.<br>
          126  +A Relation object can reference any other kind of OSM objects: each <b>&lt;member&gt;</b> item can address a Node object, 
          127  +a Way object or another Relation object; the \b type attribute will always specify the nature of the referenced object,
          128  +and the optional \b role attribute may eventually better specify the intended scope.<br>
          129  +The data attributes characterizing a Relation are exactly the same used for Ways, and with identical meaning;
          130  +and for Relations too an arbitrary collection of Tags (\b key:value pairs) is supported.
          131  +
          132  +The following is the XML general layout used to represent a Relation object:
          133  +\verbatim
          134  +<relation id="12345" version="1" changeset="54321" user="some-user" uid="66" timestamp="2005-02-28T17:45:15Z">
          135  +	<member type="way" ref="12345" role="outer" />
          136  +	<member type="way" ref="12346" role="inner" />
          137  +	<tag key="created_by" value="JOSM" />
          138  +	<tag key="tourism" value="camp_site" />
          139  +</relation>
          140  +\endverbatim
          141  +*/
          142  +
          143  +/** \page formats Open Street Map file formats
          144  +
          145  +There are two distinct formats used to ship OSM datasets: both contains the exact same
          146  +information, but the internal layout is radically different.
          147  +
          148  +\section osm XML (.osm) files
          149  +
          150  +OSM files based on the XML notation are widely used: usually they are identified by the <b>.osm</b> suffix.<br>
          151  +XML is notoriously verbose and usually requires lots of storage space; happily enough, XML it's strongly compressible.<br>
          152  +Accordingly to this consideration, the most commonly found OSM files are identified by the <b>.osm.bz2</b> suffix:
          153  +this practically means that the <b>.osm</b> (XML) file has been compressed using <b>bzip2</b>.
          154  +In order to actually process a <b>.osm.bz2</b> OSM file a two-steps approach is always required:
          155  +- decompressing the file (using <b>bunzip2</b> or some other tool)
          156  +- then parsing the resulting <b>.osm</b> file
          157  +- please note: the inflated file will require about 10/15 times the amount space required
          158  +  by the compressed file; many OSM XML files could actually be impressively huge (several GB).
          159  +
          160  +\section pbf Protocol Buffer (.pbf) files
          161  +
          162  +An alternative OSM file format is based on the Google's Protocol Buffer encoding 
          163  +[https://developers.google.com/protocol-buffers/docs/encoding]<br>
          164  +This OSM format is based on a public and documented specification: [http://wiki.openstreetmap.org/wiki/PBF_Format]<br>
          165  +
          166  +OSM files based on Protocol Buffer encoding are usually identified by the <b>.pbf</b> suffix.<br>
          167  +The main benefit coming from using <b>.pbf</b> files is in that they are much more compact
          168  +(smaller size) than the corresponding <b>.osm.bz2</b>; and they can be immediately parsed, no
          169  +preliminary decompression step being required at all.<br>
          170  +
          171  +\section readosm Why using ReadOSM ?
          172  +
          173  +The intended scope of <b>ReadOSM</b> is to allow transparent parsing of both OSM formats indifferently.
          174  +There is no need to take care of any internal low-level aspect, because the library itself silently handles any required step.
          175  +The simple and easy abstract interface implemented by ReadOSM is exactly intended so to allow many
          176  +reader-apps to consume OSM-input files in the most painless way; and all this requires only a
          177  +very limited memory footprint.
          178  +
          179  +*/
          180  +
          181  +/** \page readosm ReadOSM basic architecture
          182  +
          183  +ReadOSM implements a very simple and straightforward interface; there are only three methods:
          184  +- <b>readosm_open()</b>: this function is intended to establish a connection to some OSM input file.
          185  +- <b>readosm_close()</b>: this function is intended to terminate a previously established connection.
          186  +- <b>readosm_parse()</b>: a single function dispatching the whole parsing process (mainly based on <b>callback functions</b>).
          187  +
          188  +Accordingly to the above premises, implementing a complete OSM parser is incredibly simple:
          189  +
          190  +\verbatim
          191  +#include <readosm.h>
          192  +
          193  +static int 
          194  +parse_node (const void *user_data, const readosm_node * node)
          195  +{
          196  +/* callback function consuming Node objects */
          197  +  struct some_user_defined_struct *my_struct =
          198  +    (struct some_user_defined_struct *) user_data;
          199  +
          200  +  ... some smart code ...
          201  +
          202  +  return READOSM_OK;
          203  +}
          204  +
          205  +static int 
          206  +parse_way (const void *user_data, const readosm_way * way)
          207  +{
          208  +/* callback function consuming Way objects */
          209  +  struct some_user_defined_struct *my_struct =
          210  +    (struct some_user_defined_struct *) user_data;
          211  +
          212  +  ... some smart code ...
          213  +
          214  +  return READOSM_OK;
          215  +}
          216  +
          217  +static int 
          218  +parse_relation (const void *user_data, const readosm_relation * relation)
          219  +{
          220  +/* callback function consuming Relation objects */
          221  +  struct some_user_defined_struct *my_struct =
          222  +    (struct some_user_defined_struct *) user_data;
          223  +
          224  +  ... some smart code ...
          225  +
          226  +  return READOSM_OK;
          227  +}
          228  +
          229  +int main ()
          230  +{
          231  +/* the basic OSM parser implementation */
          232  +  int ret;
          233  +  const void *handle;
          234  +  struct some_user_defined_struct my_struct;
          235  +
          236  +  ret = readosm_open ("path-to-some-OSM-file", &handle);
          237  +
          238  +  ... error handling intentionally suppressed ...
          239  +
          240  +  ret = readosm_parse (handle, &my_struct, parse_node, parse_way, parse_relation);
          241  +
          242  +  ... error handling intentionally suppressed ...
          243  +
          244  +  ret = readosm_close (handle);
          245  +
          246  +  ... error handling intentionally suppressed ...
          247  +
          248  +  return 0;
          249  +}
          250  +\endverbatim
          251  +
          252  +So the real programming work is simply the one required in order to implement the callback-functions own code.<br>
          253  +You can usefully read and study the <b>Examples</b> code-samples in order to get any other relevant information about this topic.
          254  +
          255  +*/

Added makefile.vc.

            1  +# $Id: makefile.vc 2012/05/05 Sandro Furieri $
            2  +#
            3  +# NMAKE Makefile to build libreadosm on Windows
            4  +#
            5  +!INCLUDE nmake.opt
            6  +
            7  +LIBOBJ	               =	src\readosm.obj src\osmxml.obj \
            8  +							src\protobuf.obj src\osm_objects.obj
            9  +READOSM_DLL	 	       =	readosm$(VERSION).dll
           10  +
           11  +CFLAGS	=	/nologo -IC:\OSGeo4W\include -Iheaders $(OPTFLAGS)
           12  +
           13  +default:	all
           14  +
           15  +all: readosm.lib readosm_i.lib
           16  +
           17  +readosm.lib:	$(LIBOBJ)
           18  +	if exist readosm.lib del readosm.lib
           19  +	lib /out:readosm.lib $(LIBOBJ)
           20  +
           21  +$(READOSM_DLL):	readosm_i.lib
           22  +
           23  +readosm_i.lib:	$(LIBOBJ)
           24  +	link /debug /dll /out:$(READOSM_DLL) \
           25  +		/implib:readosm_i.lib $(LIBOBJ) \
           26  +		C:\OSGeo4w\lib\libexpat.lib C:\OSGeo4w\lib\zlib.lib
           27  +	if exist $(FREEXL_DLL).manifest mt -manifest \
           28  +		$(FREEXL_DLL).manifest -outputresource:$(FREEXL_DLL);2 
           29  +		
           30  +.c.obj:
           31  +	$(CC) $(CFLAGS) /c $*.c /Fo$@
           32  +	
           33  +clean:
           34  +	del *.dll
           35  +	del *.exp
           36  +	del *.manifest
           37  +	del *.lib
           38  +	del *.obj
           39  +	del *.pdb
           40  +
           41  +install: all
           42  +	-mkdir $(INSTDIR)
           43  +	-mkdir $(INSTDIR)\bin
           44  +	-mkdir $(INSTDIR)\lib
           45  +	-mkdir $(INSTDIR)\include
           46  +	copy *.dll $(INSTDIR)\bin
           47  +	copy *.lib $(INSTDIR)\lib
           48  +	copy headers\readosm.h $(INSTDIR)\include	
           49  +

Added missing.

            1  +#! /bin/sh
            2  +# Common stub for a few missing GNU programs while installing.
            3  +
            4  +scriptversion=2009-04-28.21; # UTC
            5  +
            6  +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
            7  +# 2008, 2009 Free Software Foundation, Inc.
            8  +# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
            9  +
           10  +# This program is free software; you can redistribute it and/or modify
           11  +# it under the terms of the GNU General Public License as published by
           12  +# the Free Software Foundation; either version 2, or (at your option)
           13  +# any later version.
           14  +
           15  +# This program is distributed in the hope that it will be useful,
           16  +# but WITHOUT ANY WARRANTY; without even the implied warranty of
           17  +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           18  +# GNU General Public License for more details.
           19  +
           20  +# You should have received a copy of the GNU General Public License
           21  +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
           22  +
           23  +# As a special exception to the GNU General Public License, if you
           24  +# distribute this file as part of a program that contains a
           25  +# configuration script generated by Autoconf, you may include it under
           26  +# the same distribution terms that you use for the rest of that program.
           27  +
           28  +if test $# -eq 0; then
           29  +  echo 1>&2 "Try \`$0 --help' for more information"
           30  +  exit 1
           31  +fi
           32  +
           33  +run=:
           34  +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
           35  +sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
           36  +
           37  +# In the cases where this matters, `missing' is being run in the
           38  +# srcdir already.
           39  +if test -f configure.ac; then
           40  +  configure_ac=configure.ac
           41  +else
           42  +  configure_ac=configure.in
           43  +fi
           44  +
           45  +msg="missing on your system"
           46  +
           47  +case $1 in
           48  +--run)
           49  +  # Try to run requested program, and just exit if it succeeds.
           50  +  run=
           51  +  shift
           52  +  "$@" && exit 0
           53  +  # Exit code 63 means version mismatch.  This often happens
           54  +  # when the user try to use an ancient version of a tool on
           55  +  # a file that requires a minimum version.  In this case we
           56  +  # we should proceed has if the program had been absent, or
           57  +  # if --run hadn't been passed.
           58  +  if test $? = 63; then
           59  +    run=:
           60  +    msg="probably too old"
           61  +  fi
           62  +  ;;
           63  +
           64  +  -h|--h|--he|--hel|--help)
           65  +    echo "\
           66  +$0 [OPTION]... PROGRAM [ARGUMENT]...
           67  +
           68  +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
           69  +error status if there is no known handling for PROGRAM.
           70  +
           71  +Options:
           72  +  -h, --help      display this help and exit
           73  +  -v, --version   output version information and exit
           74  +  --run           try to run the given command, and emulate it if it fails
           75  +
           76  +Supported PROGRAM values:
           77  +  aclocal      touch file \`aclocal.m4'
           78  +  autoconf     touch file \`configure'
           79  +  autoheader   touch file \`config.h.in'
           80  +  autom4te     touch the output file, or create a stub one
           81  +  automake     touch all \`Makefile.in' files
           82  +  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
           83  +  flex         create \`lex.yy.c', if possible, from existing .c
           84  +  help2man     touch the output file
           85  +  lex          create \`lex.yy.c', if possible, from existing .c
           86  +  makeinfo     touch the output file
           87  +  tar          try tar, gnutar, gtar, then tar without non-portable flags
           88  +  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
           89  +
           90  +Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
           91  +\`g' are ignored when checking the name.
           92  +
           93  +Send bug reports to <bug-automake@gnu.org>."
           94  +    exit $?
           95  +    ;;
           96  +
           97  +  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
           98  +    echo "missing $scriptversion (GNU Automake)"
           99  +    exit $?
          100  +    ;;
          101  +
          102  +  -*)
          103  +    echo 1>&2 "$0: Unknown \`$1' option"
          104  +    echo 1>&2 "Try \`$0 --help' for more information"
          105  +    exit 1
          106  +    ;;
          107  +
          108  +esac
          109  +
          110  +# normalize program name to check for.
          111  +program=`echo "$1" | sed '
          112  +  s/^gnu-//; t
          113  +  s/^gnu//; t
          114  +  s/^g//; t'`
          115  +
          116  +# Now exit if we have it, but it failed.  Also exit now if we
          117  +# don't have it and --version was passed (most likely to detect
          118  +# the program).  This is about non-GNU programs, so use $1 not
          119  +# $program.
          120  +case $1 in
          121  +  lex*|yacc*)
          122  +    # Not GNU programs, they don't have --version.
          123  +    ;;
          124  +
          125  +  tar*)
          126  +    if test -n "$run"; then
          127  +       echo 1>&2 "ERROR: \`tar' requires --run"
          128  +       exit 1
          129  +    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
          130  +       exit 1
          131  +    fi
          132  +    ;;
          133  +
          134  +  *)
          135  +    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
          136  +       # We have it, but it failed.
          137  +       exit 1
          138  +    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
          139  +       # Could not run --version or --help.  This is probably someone
          140  +       # running `$TOOL --version' or `$TOOL --help' to check whether
          141  +       # $TOOL exists and not knowing $TOOL uses missing.
          142  +       exit 1
          143  +    fi
          144  +    ;;
          145  +esac
          146  +
          147  +# If it does not exist, or fails to run (possibly an outdated version),
          148  +# try to emulate it.
          149  +case $program in
          150  +  aclocal*)
          151  +    echo 1>&2 "\
          152  +WARNING: \`$1' is $msg.  You should only need it if
          153  +         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
          154  +         to install the \`Automake' and \`Perl' packages.  Grab them from
          155  +         any GNU archive site."
          156  +    touch aclocal.m4
          157  +    ;;
          158  +
          159  +  autoconf*)
          160  +    echo 1>&2 "\
          161  +WARNING: \`$1' is $msg.  You should only need it if
          162  +         you modified \`${configure_ac}'.  You might want to install the
          163  +         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
          164  +         archive site."
          165  +    touch configure
          166  +    ;;
          167  +
          168  +  autoheader*)
          169  +    echo 1>&2 "\
          170  +WARNING: \`$1' is $msg.  You should only need it if
          171  +         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
          172  +         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
          173  +         from any GNU archive site."
          174  +    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
          175  +    test -z "$files" && files="config.h"
          176  +    touch_files=
          177  +    for f in $files; do
          178  +      case $f in
          179  +      *:*) touch_files="$touch_files "`echo "$f" |
          180  +				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
          181  +      *) touch_files="$touch_files $f.in";;
          182  +      esac
          183  +    done
          184  +    touch $touch_files
          185  +    ;;
          186  +
          187  +  automake*)
          188  +    echo 1>&2 "\
          189  +WARNING: \`$1' is $msg.  You should only need it if
          190  +         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
          191  +         You might want to install the \`Automake' and \`Perl' packages.
          192  +         Grab them from any GNU archive site."
          193  +    find . -type f -name Makefile.am -print |
          194  +	   sed 's/\.am$/.in/' |
          195  +	   while read f; do touch "$f"; done
          196  +    ;;
          197  +
          198  +  autom4te*)
          199  +    echo 1>&2 "\
          200  +WARNING: \`$1' is needed, but is $msg.
          201  +         You might have modified some files without having the
          202  +         proper tools for further handling them.
          203  +         You can get \`$1' as part of \`Autoconf' from any GNU
          204  +         archive site."
          205  +
          206  +    file=`echo "$*" | sed -n "$sed_output"`
          207  +    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
          208  +    if test -f "$file"; then
          209  +	touch $file
          210  +    else
          211  +	test -z "$file" || exec >$file
          212  +	echo "#! /bin/sh"
          213  +	echo "# Created by GNU Automake missing as a replacement of"
          214  +	echo "#  $ $@"
          215  +	echo "exit 0"
          216  +	chmod +x $file
          217  +	exit 1
          218  +    fi
          219  +    ;;
          220  +
          221  +  bison*|yacc*)
          222  +    echo 1>&2 "\
          223  +WARNING: \`$1' $msg.  You should only need it if
          224  +         you modified a \`.y' file.  You may need the \`Bison' package
          225  +         in order for those modifications to take effect.  You can get
          226  +         \`Bison' from any GNU archive site."
          227  +    rm -f y.tab.c y.tab.h
          228  +    if test $# -ne 1; then
          229  +        eval LASTARG="\${$#}"
          230  +	case $LASTARG in
          231  +	*.y)
          232  +	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
          233  +	    if test -f "$SRCFILE"; then
          234  +	         cp "$SRCFILE" y.tab.c
          235  +	    fi
          236  +	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
          237  +	    if test -f "$SRCFILE"; then
          238  +	         cp "$SRCFILE" y.tab.h
          239  +	    fi
          240  +	  ;;
          241  +	esac
          242  +    fi
          243  +    if test ! -f y.tab.h; then
          244  +	echo >y.tab.h
          245  +    fi
          246  +    if test ! -f y.tab.c; then
          247  +	echo 'main() { return 0; }' >y.tab.c
          248  +    fi
          249  +    ;;
          250  +
          251  +  lex*|flex*)
          252  +    echo 1>&2 "\
          253  +WARNING: \`$1' is $msg.  You should only need it if
          254  +         you modified a \`.l' file.  You may need the \`Flex' package
          255  +         in order for those modifications to take effect.  You can get
          256  +         \`Flex' from any GNU archive site."
          257  +    rm -f lex.yy.c
          258  +    if test $# -ne 1; then
          259  +        eval LASTARG="\${$#}"
          260  +	case $LASTARG in
          261  +	*.l)
          262  +	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
          263  +	    if test -f "$SRCFILE"; then
          264  +	         cp "$SRCFILE" lex.yy.c
          265  +	    fi
          266  +	  ;;
          267  +	esac
          268  +    fi
          269  +    if test ! -f lex.yy.c; then
          270  +	echo 'main() { return 0; }' >lex.yy.c
          271  +    fi
          272  +    ;;
          273  +
          274  +  help2man*)
          275  +    echo 1>&2 "\
          276  +WARNING: \`$1' is $msg.  You should only need it if
          277  +	 you modified a dependency of a manual page.  You may need the
          278  +	 \`Help2man' package in order for those modifications to take
          279  +	 effect.  You can get \`Help2man' from any GNU archive site."
          280  +
          281  +    file=`echo "$*" | sed -n "$sed_output"`
          282  +    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
          283  +    if test -f "$file"; then
          284  +	touch $file
          285  +    else
          286  +	test -z "$file" || exec >$file
          287  +	echo ".ab help2man is required to generate this page"
          288  +	exit $?
          289  +    fi
          290  +    ;;
          291  +
          292  +  makeinfo*)
          293  +    echo 1>&2 "\
          294  +WARNING: \`$1' is $msg.  You should only need it if
          295  +         you modified a \`.texi' or \`.texinfo' file, or any other file
          296  +         indirectly affecting the aspect of the manual.  The spurious
          297  +         call might also be the consequence of using a buggy \`make' (AIX,
          298  +         DU, IRIX).  You might want to install the \`Texinfo' package or
          299  +         the \`GNU make' package.  Grab either from any GNU archive site."
          300  +    # The file to touch is that specified with -o ...
          301  +    file=`echo "$*" | sed -n "$sed_output"`
          302  +    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
          303  +    if test -z "$file"; then
          304  +      # ... or it is the one specified with @setfilename ...
          305  +      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
          306  +      file=`sed -n '
          307  +	/^@setfilename/{
          308  +	  s/.* \([^ ]*\) *$/\1/
          309  +	  p
          310  +	  q
          311  +	}' $infile`
          312  +      # ... or it is derived from the source name (dir/f.texi becomes f.info)
          313  +      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
          314  +    fi
          315  +    # If the file does not exist, the user really needs makeinfo;
          316  +    # let's fail without touching anything.
          317  +    test -f $file || exit 1
          318  +    touch $file
          319  +    ;;
          320  +
          321  +  tar*)
          322  +    shift
          323  +
          324  +    # We have already tried tar in the generic part.
          325  +    # Look for gnutar/gtar before invocation to avoid ugly error
          326  +    # messages.
          327  +    if (gnutar --version > /dev/null 2>&1); then
          328  +       gnutar "$@" && exit 0
          329  +    fi
          330  +    if (gtar --version > /dev/null 2>&1); then
          331  +       gtar "$@" && exit 0
          332  +    fi
          333  +    firstarg="$1"
          334  +    if shift; then
          335  +	case $firstarg in
          336  +	*o*)
          337  +	    firstarg=`echo "$firstarg" | sed s/o//`
          338  +	    tar "$firstarg" "$@" && exit 0
          339  +	    ;;
          340  +	esac
          341  +	case $firstarg in
          342  +	*h*)
          343  +	    firstarg=`echo "$firstarg" | sed s/h//`
          344  +	    tar "$firstarg" "$@" && exit 0
          345  +	    ;;
          346  +	esac
          347  +    fi
          348  +
          349  +    echo 1>&2 "\
          350  +WARNING: I can't seem to be able to run \`tar' with the given arguments.
          351  +         You may want to install GNU tar or Free paxutils, or check the
          352  +         command line arguments."
          353  +    exit 1
          354  +    ;;
          355  +
          356  +  *)
          357  +    echo 1>&2 "\
          358  +WARNING: \`$1' is needed, and is $msg.
          359  +         You might have modified some files without having the
          360  +         proper tools for further handling them.  Check the \`README' file,
          361  +         it often tells you about the needed prerequisites for installing
          362  +         this package.  You may also peek at any GNU archive site, in case
          363  +         some other package would contain this missing \`$1' program."
          364  +    exit 1
          365  +    ;;
          366  +esac
          367  +
          368  +exit 0
          369  +
          370  +# Local variables:
          371  +# eval: (add-hook 'write-file-hooks 'time-stamp)
          372  +# time-stamp-start: "scriptversion="
          373  +# time-stamp-format: "%:y-%02m-%02d.%02H"
          374  +# time-stamp-time-zone: "UTC"
          375  +# time-stamp-end: "; # UTC"
          376  +# End:

Added nmake.opt.

            1  +# Directory tree where ReadOSM will be installed.
            2  +INSTDIR=C:\OSGeo4W
            3  +
            4  +# Uncomment the first for an optimized build, or the second for debug.
            5  +OPTFLAGS=	/nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \
            6  +			/DDLL_EXPORT
            7  +#OPTFLAGS=	/nologo /Zi /MD /Fdreadosm.pdb /DDLL_EXPORT
            8  +
            9  +# Set the version number for the DLL.  Normally we leave this blank since
           10  +# we want software that is dynamically loading the DLL to have no problem
           11  +# with version numbers.
           12  +VERSION=
           13  +

Added readosm.pc.in.

            1  +# Package Information for pkg-config
            2  +
            3  +prefix=@prefix@
            4  +exec_prefix=@exec_prefix@
            5  +libdir=@libdir@
            6  +includedir=@includedir@
            7  +
            8  +Name: readosm
            9  +Description: a simple library parsing Open Street Map files
           10  +Version: @VERSION@
           11  +Libs: -L${libdir} -lreadosm -lz -lexpat
           12  +Cflags: -I${includedir} 

Added src/Makefile.am.

            1  +
            2  +AM_CPPFLAGS = -I$(top_srcdir)/headers
            3  +AM_CPPFLAGS += -I$(top_srcdir)
            4  +
            5  +lib_LTLIBRARIES = libreadosm.la 
            6  +
            7  +libreadosm_la_SOURCES = readosm.c osm_objects.c osmxml.c protobuf.c
            8  +
            9  +libreadosm_la_CFLAGS = -fvisibility=hidden
           10  +libreadosm_la_LDFLAGS = -version-info 1:0:0 -no-undefined
           11  +
           12  +MOSTLYCLEANFILES = *.gcna *.gcno *.gcda

Added src/Makefile.in.

            1  +# Makefile.in generated by automake 1.14.1 from Makefile.am.
            2  +# @configure_input@
            3  +
            4  +# Copyright (C) 1994-2013 Free Software Foundation, Inc.
            5  +
            6  +# This Makefile.in is free software; the Free Software Foundation
            7  +# gives unlimited permission to copy and/or distribute it,
            8  +# with or without modifications, as long as this notice is preserved.
            9  +
           10  +# This program is distributed in the hope that it will be useful,
           11  +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
           12  +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
           13  +# PARTICULAR PURPOSE.
           14  +
           15  +@SET_MAKE@
           16  +
           17  +VPATH = @srcdir@
           18  +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
           19  +am__make_running_with_option = \
           20  +  case $${target_option-} in \
           21  +      ?) ;; \
           22  +      *) echo "am__make_running_with_option: internal error: invalid" \
           23  +              "target option '$${target_option-}' specified" >&2; \
           24  +         exit 1;; \
           25  +  esac; \
           26  +  has_opt=no; \
           27  +  sane_makeflags=$$MAKEFLAGS; \
           28  +  if $(am__is_gnu_make); then \
           29  +    sane_makeflags=$$MFLAGS; \
           30  +  else \
           31  +    case $$MAKEFLAGS in \
           32  +      *\\[\ \	]*) \
           33  +        bs=\\; \
           34  +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
           35  +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
           36  +    esac; \
           37  +  fi; \
           38  +  skip_next=no; \
           39  +  strip_trailopt () \
           40  +  { \
           41  +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
           42  +  }; \
           43  +  for flg in $$sane_makeflags; do \
           44  +    test $$skip_next = yes && { skip_next=no; continue; }; \
           45  +    case $$flg in \
           46  +      *=*|--*) continue;; \
           47  +        -*I) strip_trailopt 'I'; skip_next=yes;; \
           48  +      -*I?*) strip_trailopt 'I';; \
           49  +        -*O) strip_trailopt 'O'; skip_next=yes;; \
           50  +      -*O?*) strip_trailopt 'O';; \
           51  +        -*l) strip_trailopt 'l'; skip_next=yes;; \
           52  +      -*l?*) strip_trailopt 'l';; \
           53  +      -[dEDm]) skip_next=yes;; \
           54  +      -[JT]) skip_next=yes;; \
           55  +    esac; \
           56  +    case $$flg in \
           57  +      *$$target_option*) has_opt=yes; break;; \
           58  +    esac; \
           59  +  done; \
           60  +  test $$has_opt = yes
           61  +am__make_dryrun = (target_option=n; $(am__make_running_with_option))
           62  +am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
           63  +pkgdatadir = $(datadir)/@PACKAGE@
           64  +pkgincludedir = $(includedir)/@PACKAGE@
           65  +pkglibdir = $(libdir)/@PACKAGE@
           66  +pkglibexecdir = $(libexecdir)/@PACKAGE@
           67  +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
           68  +install_sh_DATA = $(install_sh) -c -m 644
           69  +install_sh_PROGRAM = $(install_sh) -c
           70  +install_sh_SCRIPT = $(install_sh) -c
           71  +INSTALL_HEADER = $(INSTALL_DATA)
           72  +transform = $(program_transform_name)
           73  +NORMAL_INSTALL = :
           74  +PRE_INSTALL = :
           75  +POST_INSTALL = :
           76  +NORMAL_UNINSTALL = :
           77  +PRE_UNINSTALL = :
           78  +POST_UNINSTALL = :
           79  +build_triplet = @build@
           80  +host_triplet = @host@
           81  +subdir = src
           82  +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
           83  +	$(top_srcdir)/depcomp
           84  +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
           85  +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
           86  +	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
           87  +	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
           88  +	$(top_srcdir)/configure.ac
           89  +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
           90  +	$(ACLOCAL_M4)
           91  +mkinstalldirs = $(install_sh) -d
           92  +CONFIG_HEADER = $(top_builddir)/config.h
           93  +CONFIG_CLEAN_FILES =
           94  +CONFIG_CLEAN_VPATH_FILES =
           95  +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
           96  +am__vpath_adj = case $$p in \
           97  +    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
           98  +    *) f=$$p;; \
           99  +  esac;
          100  +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
          101  +am__install_max = 40
          102  +am__nobase_strip_setup = \
          103  +  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
          104  +am__nobase_strip = \
          105  +  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
          106  +am__nobase_list = $(am__nobase_strip_setup); \
          107  +  for p in $$list; do echo "$$p $$p"; done | \
          108  +  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
          109  +  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          110  +    if (++n[$$2] == $(am__install_max)) \
          111  +      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          112  +    END { for (dir in files) print dir, files[dir] }'
          113  +am__base_list = \
          114  +  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
          115  +  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
          116  +am__uninstall_files_from_dir = { \
          117  +  test -z "$$files" \
          118  +    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          119  +    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
          120  +         $(am__cd) "$$dir" && rm -f $$files; }; \
          121  +  }
          122  +am__installdirs = "$(DESTDIR)$(libdir)"
          123  +LTLIBRARIES = $(lib_LTLIBRARIES)
          124  +libreadosm_la_LIBADD =
          125  +am_libreadosm_la_OBJECTS = libreadosm_la-readosm.lo \
          126  +	libreadosm_la-osm_objects.lo libreadosm_la-osmxml.lo \
          127  +	libreadosm_la-protobuf.lo
          128  +libreadosm_la_OBJECTS = $(am_libreadosm_la_OBJECTS)
          129  +AM_V_lt = $(am__v_lt_@AM_V@)
          130  +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
          131  +am__v_lt_0 = --silent
          132  +am__v_lt_1 = 
          133  +libreadosm_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
          134  +	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libreadosm_la_CFLAGS) \
          135  +	$(CFLAGS) $(libreadosm_la_LDFLAGS) $(LDFLAGS) -o $@
          136  +AM_V_P = $(am__v_P_@AM_V@)
          137  +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
          138  +am__v_P_0 = false
          139  +am__v_P_1 = :
          140  +AM_V_GEN = $(am__v_GEN_@AM_V@)
          141  +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
          142  +am__v_GEN_0 = @echo "  GEN     " $@;
          143  +am__v_GEN_1 = 
          144  +AM_V_at = $(am__v_at_@AM_V@)
          145  +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
          146  +am__v_at_0 = @
          147  +am__v_at_1 = 
          148  +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
          149  +depcomp = $(SHELL) $(top_srcdir)/depcomp
          150  +am__depfiles_maybe = depfiles
          151  +am__mv = mv -f
          152  +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
          153  +	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
          154  +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
          155  +	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
          156  +	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
          157  +	$(AM_CFLAGS) $(CFLAGS)
          158  +AM_V_CC = $(am__v_CC_@AM_V@)
          159  +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
          160  +am__v_CC_0 = @echo "  CC      " $@;
          161  +am__v_CC_1 = 
          162  +CCLD = $(CC)
          163  +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
          164  +	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
          165  +	$(AM_LDFLAGS) $(LDFLAGS) -o $@
          166  +AM_V_CCLD = $(am__v_CCLD_@AM_V@)
          167  +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
          168  +am__v_CCLD_0 = @echo "  CCLD    " $@;
          169  +am__v_CCLD_1 = 
          170  +SOURCES = $(libreadosm_la_SOURCES)
          171  +DIST_SOURCES = $(libreadosm_la_SOURCES)
          172  +am__can_run_installinfo = \
          173  +  case $$AM_UPDATE_INFO_DIR in \
          174  +    n|no|NO) false;; \
          175  +    *) (install-info --version) >/dev/null 2>&1;; \
          176  +  esac
          177  +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
          178  +# Read a list of newline-separated strings from the standard input,
          179  +# and print each of them once, without duplicates.  Input order is
          180  +# *not* preserved.
          181  +am__uniquify_input = $(AWK) '\
          182  +  BEGIN { nonempty = 0; } \
          183  +  { items[$$0] = 1; nonempty = 1; } \
          184  +  END { if (nonempty) { for (i in items) print i; }; } \
          185  +'
          186  +# Make sure the list of sources is unique.  This is necessary because,
          187  +# e.g., the same source file might be shared among _SOURCES variables
          188  +# for different programs/libraries.
          189  +am__define_uniq_tagged_files = \
          190  +  list='$(am__tagged_files)'; \
          191  +  unique=`for i in $$list; do \
          192  +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          193  +  done | $(am__uniquify_input)`
          194  +ETAGS = etags
          195  +CTAGS = ctags
          196  +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
          197  +ACLOCAL = @ACLOCAL@
          198  +AMTAR = @AMTAR@
          199  +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
          200  +AR = @AR@
          201  +AS = @AS@
          202  +AUTOCONF = @AUTOCONF@
          203  +AUTOHEADER = @AUTOHEADER@
          204  +AUTOMAKE = @AUTOMAKE@
          205  +AWK = @AWK@
          206  +CC = @CC@
          207  +CCDEPMODE = @CCDEPMODE@
          208  +CFLAGS = @CFLAGS@
          209  +CPP = @CPP@
          210  +CPPFLAGS = @CPPFLAGS@
          211  +CXX = @CXX@
          212  +CXXCPP = @CXXCPP@
          213  +CXXDEPMODE = @CXXDEPMODE@
          214  +CXXFLAGS = @CXXFLAGS@
          215  +CYGPATH_W = @CYGPATH_W@
          216  +DEFS = @DEFS@
          217  +DEPDIR = @DEPDIR@
          218  +DLLTOOL = @DLLTOOL@
          219  +DSYMUTIL = @DSYMUTIL@
          220  +DUMPBIN = @DUMPBIN@
          221  +ECHO_C = @ECHO_C@
          222  +ECHO_N = @ECHO_N@
          223  +ECHO_T = @ECHO_T@
          224  +EGREP = @EGREP@
          225  +EXEEXT = @EXEEXT@
          226  +FGREP = @FGREP@
          227  +GREP = @GREP@
          228  +INSTALL = @INSTALL@
          229  +INSTALL_DATA = @INSTALL_DATA@
          230  +INSTALL_PROGRAM = @INSTALL_PROGRAM@
          231  +INSTALL_SCRIPT = @INSTALL_SCRIPT@
          232  +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
          233  +LD = @LD@
          234  +LDFLAGS = @LDFLAGS@
          235  +LIBOBJS = @LIBOBJS@
          236  +LIBS = @LIBS@
          237  +LIBTOOL = @LIBTOOL@
          238  +LIPO = @LIPO@
          239  +LN_S = @LN_S@
          240  +LTLIBOBJS = @LTLIBOBJS@
          241  +MAINT = @MAINT@
          242  +MAKEINFO = @MAKEINFO@
          243  +MANIFEST_TOOL = @MANIFEST_TOOL@
          244  +MKDIR_P = @MKDIR_P@
          245  +NM = @NM@
          246  +NMEDIT = @NMEDIT@
          247  +OBJDUMP = @OBJDUMP@
          248  +OBJEXT = @OBJEXT@
          249  +OTOOL = @OTOOL@
          250  +OTOOL64 = @OTOOL64@
          251  +PACKAGE = @PACKAGE@
          252  +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
          253  +PACKAGE_NAME = @PACKAGE_NAME@
          254  +PACKAGE_STRING = @PACKAGE_STRING@
          255  +PACKAGE_TARNAME = @PACKAGE_TARNAME@
          256  +PACKAGE_URL = @PACKAGE_URL@
          257  +PACKAGE_VERSION = @PACKAGE_VERSION@
          258  +PATH_SEPARATOR = @PATH_SEPARATOR@
          259  +RANLIB = @RANLIB@
          260  +SED = @SED@
          261  +SET_MAKE = @SET_MAKE@
          262  +SHELL = @SHELL@
          263  +STRIP = @STRIP@
          264  +VERSION = @VERSION@
          265  +abs_builddir = @abs_builddir@
          266  +abs_srcdir = @abs_srcdir@
          267  +abs_top_builddir = @abs_top_builddir@
          268  +abs_top_srcdir = @abs_top_srcdir@
          269  +ac_ct_AR = @ac_ct_AR@
          270  +ac_ct_CC = @ac_ct_CC@
          271  +ac_ct_CXX = @ac_ct_CXX@
          272  +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
          273  +am__include = @am__include@
          274  +am__leading_dot = @am__leading_dot@
          275  +am__quote = @am__quote@
          276  +am__tar = @am__tar@
          277  +am__untar = @am__untar@
          278  +bindir = @bindir@
          279  +build = @build@
          280  +build_alias = @build_alias@
          281  +build_cpu = @build_cpu@
          282  +build_os = @build_os@
          283  +build_vendor = @build_vendor@
          284  +builddir = @builddir@
          285  +datadir = @datadir@
          286  +datarootdir = @datarootdir@
          287  +docdir = @docdir@
          288  +dvidir = @dvidir@
          289  +exec_prefix = @exec_prefix@
          290  +host = @host@
          291  +host_alias = @host_alias@
          292  +host_cpu = @host_cpu@
          293  +host_os = @host_os@
          294  +host_vendor = @host_vendor@
          295  +htmldir = @htmldir@
          296  +includedir = @includedir@
          297  +infodir = @infodir@
          298  +install_sh = @install_sh@
          299  +libdir = @libdir@
          300  +libexecdir = @libexecdir@
          301  +localedir = @localedir@
          302  +localstatedir = @localstatedir@
          303  +mandir = @mandir@
          304  +mkdir_p = @mkdir_p@
          305  +oldincludedir = @oldincludedir@
          306  +pdfdir = @pdfdir@
          307  +prefix = @prefix@
          308  +program_transform_name = @program_transform_name@
          309  +psdir = @psdir@
          310  +sbindir = @sbindir@
          311  +sharedstatedir = @sharedstatedir@
          312  +srcdir = @srcdir@
          313  +sysconfdir = @sysconfdir@
          314  +target_alias = @target_alias@
          315  +top_build_prefix = @top_build_prefix@
          316  +top_builddir = @top_builddir@
          317  +top_srcdir = @top_srcdir@
          318  +AM_CPPFLAGS = -I$(top_srcdir)/headers -I$(top_srcdir)
          319  +lib_LTLIBRARIES = libreadosm.la 
          320  +libreadosm_la_SOURCES = readosm.c osm_objects.c osmxml.c protobuf.c
          321  +libreadosm_la_CFLAGS = -fvisibility=hidden
          322  +libreadosm_la_LDFLAGS = -version-info 1:0:0 -no-undefined
          323  +MOSTLYCLEANFILES = *.gcna *.gcno *.gcda
          324  +all: all-am
          325  +
          326  +.SUFFIXES:
          327  +.SUFFIXES: .c .lo .o .obj
          328  +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
          329  +	@for dep in $?; do \
          330  +	  case '$(am__configure_deps)' in \
          331  +	    *$$dep*) \
          332  +	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
          333  +	        && { if test -f $@; then exit 0; else break; fi; }; \
          334  +	      exit 1;; \
          335  +	  esac; \
          336  +	done; \
          337  +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
          338  +	$(am__cd) $(top_srcdir) && \
          339  +	  $(AUTOMAKE) --gnu src/Makefile
          340  +.PRECIOUS: Makefile
          341  +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
          342  +	@case '$?' in \
          343  +	  *config.status*) \
          344  +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          345  +	  *) \
          346  +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
          347  +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
          348  +	esac;
          349  +
          350  +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
          351  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          352  +
          353  +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
          354  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          355  +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
          356  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          357  +$(am__aclocal_m4_deps):
          358  +
          359  +install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          360  +	@$(NORMAL_INSTALL)
          361  +	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
          362  +	list2=; for p in $$list; do \
          363  +	  if test -f $$p; then \
          364  +	    list2="$$list2 $$p"; \
          365  +	  else :; fi; \
          366  +	done; \
          367  +	test -z "$$list2" || { \
          368  +	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
          369  +	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          370  +	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          371  +	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
          372  +	}
          373  +
          374  +uninstall-libLTLIBRARIES:
          375  +	@$(NORMAL_UNINSTALL)
          376  +	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
          377  +	for p in $$list; do \
          378  +	  $(am__strip_dir) \
          379  +	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
          380  +	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
          381  +	done
          382  +
          383  +clean-libLTLIBRARIES:
          384  +	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
          385  +	@list='$(lib_LTLIBRARIES)'; \
          386  +	locs=`for p in $$list; do echo $$p; done | \
          387  +	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
          388  +	      sort -u`; \
          389  +	test -z "$$locs" || { \
          390  +	  echo rm -f $${locs}; \
          391  +	  rm -f $${locs}; \
          392  +	}
          393  +
          394  +libreadosm.la: $(libreadosm_la_OBJECTS) $(libreadosm_la_DEPENDENCIES) $(EXTRA_libreadosm_la_DEPENDENCIES) 
          395  +	$(AM_V_CCLD)$(libreadosm_la_LINK) -rpath $(libdir) $(libreadosm_la_OBJECTS) $(libreadosm_la_LIBADD) $(LIBS)
          396  +
          397  +mostlyclean-compile:
          398  +	-rm -f *.$(OBJEXT)
          399  +
          400  +distclean-compile:
          401  +	-rm -f *.tab.c
          402  +
          403  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreadosm_la-osm_objects.Plo@am__quote@
          404  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreadosm_la-osmxml.Plo@am__quote@
          405  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreadosm_la-protobuf.Plo@am__quote@
          406  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreadosm_la-readosm.Plo@am__quote@
          407  +
          408  +.c.o:
          409  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
          410  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
          411  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
          412  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          413  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
          414  +
          415  +.c.obj:
          416  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
          417  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
          418  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
          419  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          420  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
          421  +
          422  +.c.lo:
          423  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
          424  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
          425  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
          426  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          427  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
          428  +
          429  +libreadosm_la-readosm.lo: readosm.c
          430  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreadosm_la_CFLAGS) $(CFLAGS) -MT libreadosm_la-readosm.lo -MD -MP -MF $(DEPDIR)/libreadosm_la-readosm.Tpo -c -o libreadosm_la-readosm.lo `test -f 'readosm.c' || echo '$(srcdir)/'`readosm.c
          431  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libreadosm_la-readosm.Tpo $(DEPDIR)/libreadosm_la-readosm.Plo
          432  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='readosm.c' object='libreadosm_la-readosm.lo' libtool=yes @AMDEPBACKSLASH@
          433  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          434  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreadosm_la_CFLAGS) $(CFLAGS) -c -o libreadosm_la-readosm.lo `test -f 'readosm.c' || echo '$(srcdir)/'`readosm.c
          435  +
          436  +libreadosm_la-osm_objects.lo: osm_objects.c
          437  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreadosm_la_CFLAGS) $(CFLAGS) -MT libreadosm_la-osm_objects.lo -MD -MP -MF $(DEPDIR)/libreadosm_la-osm_objects.Tpo -c -o libreadosm_la-osm_objects.lo `test -f 'osm_objects.c' || echo '$(srcdir)/'`osm_objects.c
          438  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libreadosm_la-osm_objects.Tpo $(DEPDIR)/libreadosm_la-osm_objects.Plo
          439  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='osm_objects.c' object='libreadosm_la-osm_objects.lo' libtool=yes @AMDEPBACKSLASH@
          440  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          441  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreadosm_la_CFLAGS) $(CFLAGS) -c -o libreadosm_la-osm_objects.lo `test -f 'osm_objects.c' || echo '$(srcdir)/'`osm_objects.c
          442  +
          443  +libreadosm_la-osmxml.lo: osmxml.c
          444  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreadosm_la_CFLAGS) $(CFLAGS) -MT libreadosm_la-osmxml.lo -MD -MP -MF $(DEPDIR)/libreadosm_la-osmxml.Tpo -c -o libreadosm_la-osmxml.lo `test -f 'osmxml.c' || echo '$(srcdir)/'`osmxml.c
          445  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libreadosm_la-osmxml.Tpo $(DEPDIR)/libreadosm_la-osmxml.Plo
          446  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='osmxml.c' object='libreadosm_la-osmxml.lo' libtool=yes @AMDEPBACKSLASH@
          447  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          448  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreadosm_la_CFLAGS) $(CFLAGS) -c -o libreadosm_la-osmxml.lo `test -f 'osmxml.c' || echo '$(srcdir)/'`osmxml.c
          449  +
          450  +libreadosm_la-protobuf.lo: protobuf.c
          451  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreadosm_la_CFLAGS) $(CFLAGS) -MT libreadosm_la-protobuf.lo -MD -MP -MF $(DEPDIR)/libreadosm_la-protobuf.Tpo -c -o libreadosm_la-protobuf.lo `test -f 'protobuf.c' || echo '$(srcdir)/'`protobuf.c
          452  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libreadosm_la-protobuf.Tpo $(DEPDIR)/libreadosm_la-protobuf.Plo
          453  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='protobuf.c' object='libreadosm_la-protobuf.lo' libtool=yes @AMDEPBACKSLASH@
          454  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          455  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreadosm_la_CFLAGS) $(CFLAGS) -c -o libreadosm_la-protobuf.lo `test -f 'protobuf.c' || echo '$(srcdir)/'`protobuf.c
          456  +
          457  +mostlyclean-libtool:
          458  +	-rm -f *.lo
          459  +
          460  +clean-libtool:
          461  +	-rm -rf .libs _libs
          462  +
          463  +ID: $(am__tagged_files)
          464  +	$(am__define_uniq_tagged_files); mkid -fID $$unique
          465  +tags: tags-am
          466  +TAGS: tags
          467  +
          468  +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          469  +	set x; \
          470  +	here=`pwd`; \
          471  +	$(am__define_uniq_tagged_files); \
          472  +	shift; \
          473  +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          474  +	  test -n "$$unique" || unique=$$empty_fix; \
          475  +	  if test $$# -gt 0; then \
          476  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          477  +	      "$$@" $$unique; \
          478  +	  else \
          479  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          480  +	      $$unique; \
          481  +	  fi; \
          482  +	fi
          483  +ctags: ctags-am
          484  +
          485  +CTAGS: ctags
          486  +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          487  +	$(am__define_uniq_tagged_files); \
          488  +	test -z "$(CTAGS_ARGS)$$unique" \
          489  +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
          490  +	     $$unique
          491  +
          492  +GTAGS:
          493  +	here=`$(am__cd) $(top_builddir) && pwd` \
          494  +	  && $(am__cd) $(top_srcdir) \
          495  +	  && gtags -i $(GTAGS_ARGS) "$$here"
          496  +cscopelist: cscopelist-am
          497  +
          498  +cscopelist-am: $(am__tagged_files)
          499  +	list='$(am__tagged_files)'; \
          500  +	case "$(srcdir)" in \
          501  +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          502  +	  *) sdir=$(subdir)/$(srcdir) ;; \
          503  +	esac; \
          504  +	for i in $$list; do \
          505  +	  if test -f "$$i"; then \
          506  +	    echo "$(subdir)/$$i"; \
          507  +	  else \
          508  +	    echo "$$sdir/$$i"; \
          509  +	  fi; \
          510  +	done >> $(top_builddir)/cscope.files
          511  +
          512  +distclean-tags:
          513  +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
          514  +
          515  +distdir: $(DISTFILES)
          516  +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          517  +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          518  +	list='$(DISTFILES)'; \
          519  +	  dist_files=`for file in $$list; do echo $$file; done | \
          520  +	  sed -e "s|^$$srcdirstrip/||;t" \
          521  +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
          522  +	case $$dist_files in \
          523  +	  */*) $(MKDIR_P) `echo "$$dist_files" | \
          524  +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
          525  +			   sort -u` ;; \
          526  +	esac; \
          527  +	for file in $$dist_files; do \
          528  +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          529  +	  if test -d $$d/$$file; then \
          530  +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
          531  +	    if test -d "$(distdir)/$$file"; then \
          532  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          533  +	    fi; \
          534  +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
          535  +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
          536  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          537  +	    fi; \
          538  +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
          539  +	  else \
          540  +	    test -f "$(distdir)/$$file" \
          541  +	    || cp -p $$d/$$file "$(distdir)/$$file" \
          542  +	    || exit 1; \
          543  +	  fi; \
          544  +	done
          545  +check-am: all-am
          546  +check: check-am
          547  +all-am: Makefile $(LTLIBRARIES)
          548  +installdirs:
          549  +	for dir in "$(DESTDIR)$(libdir)"; do \
          550  +	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
          551  +	done
          552  +install: install-am
          553  +install-exec: install-exec-am
          554  +install-data: install-data-am
          555  +uninstall: uninstall-am
          556  +
          557  +install-am: all-am
          558  +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
          559  +
          560  +installcheck: installcheck-am
          561  +install-strip:
          562  +	if test -z '$(STRIP)'; then \
          563  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          564  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          565  +	      install; \
          566  +	else \
          567  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          568  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          569  +	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
          570  +	fi
          571  +mostlyclean-generic:
          572  +	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
          573  +
          574  +clean-generic:
          575  +
          576  +distclean-generic:
          577  +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
          578  +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
          579  +
          580  +maintainer-clean-generic:
          581  +	@echo "This command is intended for maintainers to use"
          582  +	@echo "it deletes files that may require special tools to rebuild."
          583  +clean: clean-am
          584  +
          585  +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
          586  +	mostlyclean-am
          587  +
          588  +distclean: distclean-am
          589  +	-rm -rf ./$(DEPDIR)
          590  +	-rm -f Makefile
          591  +distclean-am: clean-am distclean-compile distclean-generic \
          592  +	distclean-tags
          593  +
          594  +dvi: dvi-am
          595  +
          596  +dvi-am:
          597  +
          598  +html: html-am
          599  +
          600  +html-am:
          601  +
          602  +info: info-am
          603  +
          604  +info-am:
          605  +
          606  +install-data-am:
          607  +
          608  +install-dvi: install-dvi-am
          609  +
          610  +install-dvi-am:
          611  +
          612  +install-exec-am: install-libLTLIBRARIES
          613  +
          614  +install-html: install-html-am
          615  +
          616  +install-html-am:
          617  +
          618  +install-info: install-info-am
          619  +
          620  +install-info-am:
          621  +
          622  +install-man:
          623  +
          624  +install-pdf: install-pdf-am
          625  +
          626  +install-pdf-am:
          627  +
          628  +install-ps: install-ps-am
          629  +
          630  +install-ps-am:
          631  +
          632  +installcheck-am:
          633  +
          634  +maintainer-clean: maintainer-clean-am
          635  +	-rm -rf ./$(DEPDIR)
          636  +	-rm -f Makefile
          637  +maintainer-clean-am: distclean-am maintainer-clean-generic
          638  +
          639  +mostlyclean: mostlyclean-am
          640  +
          641  +mostlyclean-am: mostlyclean-compile mostlyclean-generic \
          642  +	mostlyclean-libtool
          643  +
          644  +pdf: pdf-am
          645  +
          646  +pdf-am:
          647  +
          648  +ps: ps-am
          649  +
          650  +ps-am:
          651  +
          652  +uninstall-am: uninstall-libLTLIBRARIES
          653  +
          654  +.MAKE: install-am install-strip
          655  +
          656  +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
          657  +	clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
          658  +	ctags-am distclean distclean-compile distclean-generic \
          659  +	distclean-libtool distclean-tags distdir dvi dvi-am html \
          660  +	html-am info info-am install install-am install-data \
          661  +	install-data-am install-dvi install-dvi-am install-exec \
          662  +	install-exec-am install-html install-html-am install-info \
          663  +	install-info-am install-libLTLIBRARIES install-man install-pdf \
          664  +	install-pdf-am install-ps install-ps-am install-strip \
          665  +	installcheck installcheck-am installdirs maintainer-clean \
          666  +	maintainer-clean-generic mostlyclean mostlyclean-compile \
          667  +	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
          668  +	tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
          669  +
          670  +
          671  +# Tell versions [3.59,3.63) of GNU make to not export all variables.
          672  +# Otherwise a system limit (for SysV at least) may be exceeded.
          673  +.NOEXPORT:

Added src/osm_objects.c.

            1  +/* 
            2  +/ osm_object.c
            3  +/
            4  +/ common OSM objects handling implementation
            5  +/
            6  +/ version  1.0, 2012 April 21
            7  +/
            8  +/ Author: Sandro Furieri a.furieri@lqt.it
            9  +/
           10  +/ ------------------------------------------------------------------------------
           11  +/ 
           12  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           13  +/ 
           14  +/ The contents of this file are subject to the Mozilla Public License Version
           15  +/ 1.1 (the "License"); you may not use this file except in compliance with
           16  +/ the License. You may obtain a copy of the License at
           17  +/ http://www.mozilla.org/MPL/
           18  +/ 
           19  +/ Software distributed under the License is distributed on an "AS IS" basis,
           20  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           21  +/ for the specific language governing rights and limitations under the
           22  +/ License.
           23  +/
           24  +/ The Original Code is the ReadOSM library
           25  +/
           26  +/ The Initial Developer of the Original Code is Alessandro Furieri
           27  +/ 
           28  +/ Portions created by the Initial Developer are Copyright (C) 2012
           29  +/ the Initial Developer. All Rights Reserved.
           30  +/ 
           31  +/ Contributor(s):
           32  +/ 
           33  +/ Alternatively, the contents of this file may be used under the terms of
           34  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           35  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           36  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           37  +/ of those above. If you wish to allow use of your version of this file only
           38  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           39  +/ use your version of this file under the terms of the MPL, indicate your
           40  +/ decision by deleting the provisions above and replace them with the notice
           41  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           42  +/ the provisions above, a recipient may use your version of this file under
           43  +/ the terms of any one of the MPL, the GPL or the LGPL.
           44  +/ 
           45  +*/
           46  +
           47  +#include <stdlib.h>
           48  +#include <stdio.h>
           49  +#include <string.h>
           50  +
           51  +#if defined(_WIN32) && !defined(__MINGW32__)
           52  +/* MSVC: avoiding to include at all config.h */
           53  +#else
           54  +#include "config.h"
           55  +#endif
           56  +
           57  +#include "readosm.h"
           58  +#include "readosm_internals.h"
           59  +
           60  +static void
           61  +release_internal_tag (readosm_internal_tag * tag)
           62  +{
           63  +/* freeing an internal TAG object */
           64  +    if (tag->key)
           65  +	free (tag->key);
           66  +    if (tag->value)
           67  +	free (tag->value);
           68  +}
           69  +
           70  +READOSM_PRIVATE void
           71  +release_internal_tag_block (readosm_internal_tag_block * tag_blk, int destroy)
           72  +{
           73  +/* freeing an internal TAG block */
           74  +    int i_tag;
           75  +    for (i_tag = 0; i_tag < tag_blk->next_item; i_tag++)
           76  +	release_internal_tag (tag_blk->tags + i_tag);
           77  +    if (destroy)
           78  +	free (tag_blk);
           79  +    else
           80  +      {
           81  +	  tag_blk->next_item = 0;
           82  +	  tag_blk->next = NULL;
           83  +      }
           84  +}
           85  +
           86  +static void
           87  +release_internal_member (readosm_internal_member * member)
           88  +{
           89  +/* freeing an internal MEMBER object */
           90  +    if (member->role)
           91  +	free (member->role);
           92  +}
           93  +
           94  +READOSM_PRIVATE void
           95  +release_internal_member_block (readosm_internal_member_block * mbr_blk,
           96  +			       int destroy)
           97  +{
           98  +/* freeing an internal MEMBER block */
           99  +    int i_mbr;
          100  +    for (i_mbr = 0; i_mbr < mbr_blk->next_item; i_mbr++)
          101  +	release_internal_member (mbr_blk->members + i_mbr);
          102  +    if (destroy)
          103  +	free (mbr_blk);
          104  +    else
          105  +      {
          106  +	  mbr_blk->next_item = 0;
          107  +	  mbr_blk->next = NULL;
          108  +      }
          109  +}
          110  +
          111  +READOSM_PRIVATE void
          112  +init_export_tag (readosm_export_tag * tag)
          113  +{
          114  +/* initializing an empty export TAG object */
          115  +    if (tag == NULL)
          116  +	return;
          117  +    tag->key = NULL;
          118  +    tag->value = NULL;
          119  +}
          120  +
          121  +READOSM_PRIVATE void
          122  +reset_export_tag (readosm_export_tag * tag)
          123  +{
          124  +/* resetting an export TAG object to initial empty state */
          125  +    if (tag == NULL)
          126  +	return;
          127  +    if (tag->key)
          128  +	free (tag->key);
          129  +    if (tag->value)
          130  +	free (tag->value);
          131  +    init_export_tag (tag);
          132  +}
          133  +
          134  +READOSM_PRIVATE void
          135  +init_internal_node (readosm_internal_node * node)
          136  +{
          137  +/* allocating an empty internal NODE object */
          138  +    node->id = READOSM_UNDEFINED;
          139  +    node->latitude = READOSM_UNDEFINED;
          140  +    node->longitude = READOSM_UNDEFINED;
          141  +    node->version = READOSM_UNDEFINED;
          142  +    node->changeset = READOSM_UNDEFINED;
          143  +    node->user = NULL;
          144  +    node->uid = READOSM_UNDEFINED;
          145  +    node->timestamp = NULL;
          146  +    node->tag_count = 0;
          147  +    node->first_tag.next_item = 0;
          148  +    node->first_tag.next = NULL;
          149  +    node->last_tag = &(node->first_tag);
          150  +}
          151  +
          152  +READOSM_PRIVATE void
          153  +append_tag_to_node (readosm_internal_node * node, const char *key,
          154  +		    const char *value)
          155  +{
          156  +/* appending a TAG to a Node object */
          157  +    int len;
          158  +    readosm_internal_tag_block *tag_blk = node->last_tag;
          159  +    readosm_internal_tag *tag;
          160  +    if (tag_blk->next_item < READOSM_BLOCK_SZ)
          161  +      {
          162  +	  /* a free Tag slot is available from the current block */
          163  +	  tag = tag_blk->tags + tag_blk->next_item;
          164  +	  tag_blk->next_item += 1;
          165  +      }
          166  +    else
          167  +      {
          168  +	  /* appending a further Tag block */
          169  +	  tag_blk = malloc (sizeof (readosm_internal_tag_block));
          170  +	  tag_blk->next_item = 1;
          171  +	  tag_blk->next = NULL;
          172  +	  tag = tag_blk->tags;
          173  +	  node->last_tag->next = tag_blk;
          174  +	  node->last_tag = tag_blk;
          175  +      }
          176  +
          177  +/* initializing the Tag */
          178  +    len = strlen (key);
          179  +    tag->key = malloc (len + 1);
          180  +    strcpy (tag->key, key);
          181  +    len = strlen (value);
          182  +    tag->value = malloc (len + 1);
          183  +    strcpy (tag->value, value);
          184  +}
          185  +
          186  +READOSM_PRIVATE void
          187  +destroy_internal_node (readosm_internal_node * node)
          188  +{
          189  +/* destroying an internal NODE object */
          190  +    readosm_internal_tag_block *tag_blk;
          191  +    readosm_internal_tag_block *tag_blk_n;
          192  +    if (node == NULL)
          193  +	return;
          194  +    if (node->user)
          195  +	free (node->user);
          196  +    if (node->timestamp)
          197  +	free (node->timestamp);
          198  +    tag_blk = &(node->first_tag);
          199  +    while (tag_blk)
          200  +      {
          201  +	  tag_blk_n = tag_blk->next;
          202  +	  if (tag_blk == &(node->first_tag))
          203  +	      release_internal_tag_block (tag_blk, 0);
          204  +	  else
          205  +	      release_internal_tag_block (tag_blk, 1);
          206  +	  tag_blk = tag_blk_n;
          207  +      }
          208  +    node->last_tag = &(node->first_tag);
          209  +}
          210  +
          211  +static void
          212  +init_export_node (readosm_export_node * node)
          213  +{
          214  +/* initializing an empty export NODE object */
          215  +    if (node == NULL)
          216  +	return;
          217  +    node->id = READOSM_UNDEFINED;
          218  +    node->latitude = READOSM_UNDEFINED;
          219  +    node->longitude = READOSM_UNDEFINED;
          220  +    node->version = READOSM_UNDEFINED;
          221  +    node->changeset = READOSM_UNDEFINED;
          222  +    node->user = NULL;
          223  +    node->uid = READOSM_UNDEFINED;
          224  +    node->timestamp = NULL;
          225  +    node->tag_count = 0;
          226  +    node->tags = NULL;
          227  +}
          228  +
          229  +static void
          230  +reset_export_node (readosm_export_node * node)
          231  +{
          232  +/* resetting an export NODE object to initial empty state */
          233  +    int i;
          234  +    if (node == NULL)
          235  +	return;
          236  +    if (node->user)
          237  +	free (node->user);
          238  +    if (node->timestamp)
          239  +	free (node->timestamp);
          240  +    for (i = 0; i < node->tag_count; i++)
          241  +      {
          242  +	  readosm_export_tag *tag = node->tags + i;
          243  +	  reset_export_tag (tag);
          244  +      }
          245  +    if (node->tags)
          246  +	free (node->tags);
          247  +    init_export_node (node);
          248  +}
          249  +
          250  +READOSM_PRIVATE readosm_internal_way *
          251  +alloc_internal_way (void)
          252  +{
          253  +/* allocating an empty internal WAY object */
          254  +    readosm_internal_way *way = malloc (sizeof (readosm_internal_way));
          255  +    way->id = 0;
          256  +    way->version = 0;
          257  +    way->changeset = 0;
          258  +    way->user = NULL;
          259  +    way->uid = 0;
          260  +    way->timestamp = NULL;
          261  +    way->ref_count = 0;
          262  +    way->first_ref.next_item = 0;
          263  +    way->first_ref.next = NULL;
          264  +    way->last_ref = &(way->first_ref);
          265  +    way->tag_count = 0;
          266  +    way->first_tag.next_item = 0;
          267  +    way->first_tag.next = NULL;
          268  +    way->last_tag = &(way->first_tag);
          269  +    return way;
          270  +}
          271  +
          272  +READOSM_PRIVATE void
          273  +append_reference_to_way (readosm_internal_way * way, long long node_ref)
          274  +{
          275  +/* appending a NODE-REF to a WAY object */
          276  +    readosm_internal_ref *ref = way->last_ref;
          277  +    if (ref->next_item < READOSM_BLOCK_SZ)
          278  +      {
          279  +	  /* free Ref slot is available from the current block */
          280  +	  *(ref->node_refs + ref->next_item) = node_ref;
          281  +	  ref->next_item += 1;
          282  +      }
          283  +    else
          284  +      {
          285  +	  /* appending a further Ref block */
          286  +	  ref = malloc (sizeof (readosm_internal_ref));
          287  +	  *(ref->node_refs + 0) = node_ref;
          288  +	  ref->next_item = 1;
          289  +	  ref->next = NULL;
          290  +	  way->last_ref->next = ref;
          291  +	  way->last_ref = ref;
          292  +      }
          293  +}
          294  +
          295  +READOSM_PRIVATE void
          296  +append_tag_to_way (readosm_internal_way * way, const char *key,
          297  +		   const char *value)
          298  +{
          299  +/* appending a TAG to a WAY object */
          300  +    int len;
          301  +    readosm_internal_tag_block *tag_blk = way->last_tag;
          302  +    readosm_internal_tag *tag;
          303  +    if (tag_blk->next_item < READOSM_BLOCK_SZ)
          304  +      {
          305  +	  /* a free Tag slot is available from the current block */
          306  +	  tag = tag_blk->tags + tag_blk->next_item;
          307  +	  tag_blk->next_item += 1;
          308  +      }
          309  +    else
          310  +      {
          311  +	  /* appending a further Tag block */
          312  +	  tag_blk = malloc (sizeof (readosm_internal_tag_block));
          313  +	  tag_blk->next_item = 1;
          314  +	  tag_blk->next = NULL;
          315  +	  tag = tag_blk->tags;
          316  +	  way->last_tag->next = tag_blk;
          317  +	  way->last_tag = tag_blk;
          318  +      }
          319  +
          320  +/* initializing the Tag */
          321  +    len = strlen (key);
          322  +    tag->key = malloc (len + 1);
          323  +    strcpy (tag->key, key);
          324  +    len = strlen (value);
          325  +    tag->value = malloc (len + 1);
          326  +    strcpy (tag->value, value);
          327  +}
          328  +
          329  +READOSM_PRIVATE void
          330  +destroy_internal_way (readosm_internal_way * way)
          331  +{
          332  +/* destroying an internal WAY object */
          333  +    readosm_internal_ref *ref;
          334  +    readosm_internal_ref *ref_n;
          335  +    readosm_internal_tag_block *tag_blk;
          336  +    readosm_internal_tag_block *tag_blk_n;
          337  +    if (way == NULL)
          338  +	return;
          339  +    if (way->user)
          340  +	free (way->user);
          341  +    if (way->timestamp)
          342  +	free (way->timestamp);
          343  +    ref = way->first_ref.next;
          344  +    while (ref)
          345  +      {
          346  +	  ref_n = ref->next;
          347  +	  free (ref);
          348  +	  ref = ref_n;
          349  +      }
          350  +    tag_blk = &(way->first_tag);
          351  +    while (tag_blk)
          352  +      {
          353  +	  tag_blk_n = tag_blk->next;
          354  +	  if (tag_blk == &(way->first_tag))
          355  +	      release_internal_tag_block (tag_blk, 0);
          356  +	  else
          357  +	      release_internal_tag_block (tag_blk, 1);
          358  +	  tag_blk = tag_blk_n;
          359  +      }
          360  +    free (way);
          361  +}
          362  +
          363  +static void
          364  +init_export_way (readosm_export_way * way)
          365  +{
          366  +/* initializing an empty export WAY object */
          367  +    if (way == NULL)
          368  +	return;
          369  +    way->id = 0;
          370  +    way->version = 0;
          371  +    way->changeset = 0;
          372  +    way->user = NULL;
          373  +    way->uid = 0;
          374  +    way->timestamp = NULL;
          375  +    way->node_ref_count = 0;
          376  +    way->node_refs = NULL;
          377  +    way->tag_count = 0;
          378  +    way->tags = NULL;
          379  +}
          380  +
          381  +static void
          382  +reset_export_way (readosm_export_way * way)
          383  +{
          384  +/* resetting an export WAY object to initial empty state */
          385  +    int i;
          386  +    if (way == NULL)
          387  +	return;
          388  +    if (way->user)
          389  +	free (way->user);
          390  +    if (way->timestamp)
          391  +	free (way->timestamp);
          392  +    if (way->node_refs)
          393  +	free (way->node_refs);
          394  +    for (i = 0; i < way->tag_count; i++)
          395  +      {
          396  +	  readosm_export_tag *tag = way->tags + i;
          397  +	  reset_export_tag (tag);
          398  +      }
          399  +    if (way->tags)
          400  +	free (way->tags);
          401  +    init_export_way (way);
          402  +}
          403  +
          404  +static void
          405  +init_export_member (readosm_export_member * member)
          406  +{
          407  +/* initializing an empty export RELATION-MEMBER object */
          408  +    if (member == NULL)
          409  +	return;
          410  +    member->member_type = READOSM_UNDEFINED;
          411  +    member->id = 0;
          412  +    member->role = NULL;
          413  +}
          414  +
          415  +static void
          416  +reset_export_member (readosm_export_member * member)
          417  +{
          418  +/* resetting an export RELATION-MEMBER object to initial empty state */
          419  +    if (member == NULL)
          420  +	return;
          421  +    if (member->role)
          422  +	free (member->role);
          423  +    init_export_member (member);
          424  +}
          425  +
          426  +READOSM_PRIVATE readosm_internal_relation *
          427  +alloc_internal_relation (void)
          428  +{
          429  +/* allocating an empty internal RELATION object */
          430  +    readosm_internal_relation *rel =
          431  +	malloc (sizeof (readosm_internal_relation));
          432  +    rel->id = 0;
          433  +    rel->version = 0;
          434  +    rel->changeset = 0;
          435  +    rel->user = NULL;
          436  +    rel->uid = 0;
          437  +    rel->timestamp = NULL;
          438  +    rel->member_count = 0;
          439  +    rel->first_member.next_item = 0;
          440  +    rel->first_member.next = NULL;
          441  +    rel->last_member = &(rel->first_member);
          442  +    rel->tag_count = 0;
          443  +    rel->first_tag.next_item = 0;
          444  +    rel->first_tag.next = NULL;
          445  +    rel->last_tag = &(rel->first_tag);
          446  +    return rel;
          447  +}
          448  +
          449  +READOSM_PRIVATE void
          450  +append_member_to_relation (readosm_internal_relation * relation, int type,
          451  +			   long long id, const char *role)
          452  +{
          453  +/* appending a RELATION-MEMBER to a RELATION object */
          454  +    int len;
          455  +    readosm_internal_member_block *mbr_blk = relation->last_member;
          456  +    readosm_internal_member *member;
          457  +    if (mbr_blk->next_item < READOSM_BLOCK_SZ)
          458  +      {
          459  +	  /* a free Member slot is available from the current block */
          460  +	  member = mbr_blk->members + mbr_blk->next_item;
          461  +	  mbr_blk->next_item += 1;
          462  +      }
          463  +    else
          464  +      {
          465  +	  /* appending a further Member block */
          466  +	  mbr_blk = malloc (sizeof (readosm_internal_member_block));
          467  +	  mbr_blk->next_item = 1;
          468  +	  mbr_blk->next = NULL;
          469  +	  member = mbr_blk->members;
          470  +	  relation->last_member->next = mbr_blk;
          471  +	  relation->last_member = mbr_blk;
          472  +      }
          473  +
          474  +    member->member_type = type;
          475  +    member->id = id;
          476  +    len = strlen (role);
          477  +    member->role = malloc (len + 1);
          478  +    strcpy (member->role, role);
          479  +}
          480  +
          481  +READOSM_PRIVATE void
          482  +append_tag_to_relation (readosm_internal_relation * relation, const char *key,
          483  +			const char *value)
          484  +{
          485  +/* appending a TAG to a RELATION object */
          486  +    int len;
          487  +    readosm_internal_tag_block *tag_blk = relation->last_tag;
          488  +    readosm_internal_tag *tag;
          489  +    if (tag_blk->next_item < READOSM_BLOCK_SZ)
          490  +      {
          491  +	  /* a free Tag slot is available from the current block */
          492  +	  tag = tag_blk->tags + tag_blk->next_item;
          493  +	  tag_blk->next_item += 1;
          494  +      }
          495  +    else
          496  +      {
          497  +	  /* appending a further Tag block */
          498  +	  tag_blk = malloc (sizeof (readosm_internal_tag_block));
          499  +	  tag_blk->next_item = 1;
          500  +	  tag_blk->next = NULL;
          501  +	  tag = tag_blk->tags;
          502  +	  relation->last_tag->next = tag_blk;
          503  +	  relation->last_tag = tag_blk;
          504  +      }
          505  +
          506  +/* initializing the Tag */
          507  +    len = strlen (key);
          508  +    tag->key = malloc (len + 1);
          509  +    strcpy (tag->key, key);
          510  +    len = strlen (value);
          511  +    tag->value = malloc (len + 1);
          512  +    strcpy (tag->value, value);
          513  +}
          514  +
          515  +READOSM_PRIVATE void
          516  +destroy_internal_relation (readosm_internal_relation * relation)
          517  +{
          518  +/* destroying an internal RELATION object */
          519  +    readosm_internal_member_block *mbr_blk;
          520  +    readosm_internal_member_block *mbr_blk_n;
          521  +    readosm_internal_tag_block *tag_blk;
          522  +    readosm_internal_tag_block *tag_blk_n;
          523  +    if (relation == NULL)
          524  +	return;
          525  +    if (relation->user)
          526  +	free (relation->user);
          527  +    if (relation->timestamp)
          528  +	free (relation->timestamp);
          529  +    mbr_blk = &(relation->first_member);
          530  +    while (mbr_blk)
          531  +      {
          532  +	  mbr_blk_n = mbr_blk->next;
          533  +	  if (mbr_blk == &(relation->first_member))
          534  +	      release_internal_member_block (mbr_blk, 0);
          535  +	  else
          536  +	      release_internal_member_block (mbr_blk, 1);
          537  +	  mbr_blk = mbr_blk_n;
          538  +      }
          539  +    tag_blk = &(relation->first_tag);
          540  +    while (tag_blk)
          541  +      {
          542  +	  tag_blk_n = tag_blk->next;
          543  +	  if (tag_blk == &(relation->first_tag))
          544  +	      release_internal_tag_block (tag_blk, 0);
          545  +	  else
          546  +	      release_internal_tag_block (tag_blk, 1);
          547  +	  tag_blk = tag_blk_n;
          548  +      }
          549  +    free (relation);
          550  +}
          551  +
          552  +static void
          553  +init_export_relation (readosm_export_relation * relation)
          554  +{
          555  +/* initializing an empty export RELATION object */
          556  +    if (relation == NULL)
          557  +	return;
          558  +    relation->id = 0;
          559  +    relation->version = 0;
          560  +    relation->changeset = 0;
          561  +    relation->user = NULL;
          562  +    relation->uid = 0;
          563  +    relation->timestamp = NULL;
          564  +    relation->member_count = 0;
          565  +    relation->members = NULL;
          566  +    relation->tag_count = 0;
          567  +    relation->tags = NULL;
          568  +}
          569  +
          570  +static void
          571  +reset_export_relation (readosm_export_relation * relation)
          572  +{
          573  +/* resetting an export RELATION object to initial empty state */
          574  +    int i;
          575  +    if (relation == NULL)
          576  +	return;
          577  +    if (relation->user)
          578  +	free (relation->user);
          579  +    if (relation->timestamp)
          580  +	free (relation->timestamp);
          581  +    for (i = 0; i < relation->member_count; i++)
          582  +      {
          583  +	  readosm_export_member *member = relation->members + i;
          584  +	  reset_export_member (member);
          585  +      }
          586  +    if (relation->members)
          587  +	free (relation->members);
          588  +    for (i = 0; i < relation->tag_count; i++)
          589  +      {
          590  +	  readosm_export_tag *tag = relation->tags + i;
          591  +	  reset_export_tag (tag);
          592  +      }
          593  +    if (relation->tags)
          594  +	free (relation->tags);
          595  +    init_export_relation (relation);
          596  +}
          597  +
          598  +
          599  +READOSM_PRIVATE int
          600  +call_node_callback (readosm_node_callback node_callback,
          601  +		    const void *user_data, readosm_internal_node * node)
          602  +{
          603  +/* calling the Node-handling callback function */
          604  +    int ret;
          605  +    int len;
          606  +    readosm_internal_tag *tag;
          607  +    readosm_internal_tag_block *tag_blk;
          608  +    int i_tag;
          609  +    readosm_export_node exp_node;
          610  +
          611  +/* 
          612  + / please note: READONLY-NODE simply is the same as export 
          613  + / NODE inteded to disabale any possible awful user action
          614  +*/
          615  +    readosm_node *readonly_node = (readosm_node *) & exp_node;
          616  +
          617  +/*initialing an empty export NODE object */
          618  +    init_export_node (&exp_node);
          619  +
          620  +/* setting up the export NODE object */
          621  +    exp_node.id = node->id;
          622  +    exp_node.latitude = node->latitude;
          623  +    exp_node.longitude = node->longitude;
          624  +    exp_node.version = node->version;
          625  +    exp_node.changeset = node->changeset;
          626  +    if (node->user != NULL)
          627  +      {
          628  +	  len = strlen (node->user);
          629  +	  exp_node.user = malloc (len + 1);
          630  +	  strcpy (exp_node.user, node->user);
          631  +      }
          632  +    exp_node.uid = node->uid;
          633  +    if (node->timestamp != NULL)
          634  +      {
          635  +	  len = strlen (node->timestamp);
          636  +	  exp_node.timestamp = malloc (len + 1);
          637  +	  strcpy (exp_node.timestamp, node->timestamp);
          638  +      }
          639  +
          640  +/* setting up the NODE-TAGs array */
          641  +    tag_blk = &(node->first_tag);
          642  +    while (tag_blk)
          643  +      {
          644  +	  exp_node.tag_count += tag_blk->next_item;
          645  +	  tag_blk = tag_blk->next;
          646  +      }
          647  +    if (exp_node.tag_count > 0)
          648  +      {
          649  +	  int i;
          650  +	  readosm_export_tag *p_tag;
          651  +	  exp_node.tags =
          652  +	      malloc (sizeof (readosm_export_tag) * exp_node.tag_count);
          653  +	  for (i = 0; i < exp_node.tag_count; i++)
          654  +	    {
          655  +		p_tag = exp_node.tags + i;
          656  +		init_export_tag (p_tag);
          657  +	    }
          658  +	  i = 0;
          659  +	  tag_blk = &(node->first_tag);
          660  +	  while (tag_blk)
          661  +	    {
          662  +		for (i_tag = 0; i_tag < tag_blk->next_item; i_tag++)
          663  +		  {
          664  +		      tag = tag_blk->tags + i_tag;
          665  +		      p_tag = exp_node.tags + i;
          666  +		      if (tag->key != NULL)
          667  +			{
          668  +			    len = strlen (tag->key);
          669  +			    p_tag->key = malloc (len + 1);
          670  +			    strcpy (p_tag->key, tag->key);
          671  +			}
          672  +		      if (tag->value != NULL)
          673  +			{
          674  +			    len = strlen (tag->value);
          675  +			    p_tag->value = malloc (len + 1);
          676  +			    strcpy (p_tag->value, tag->value);
          677  +			}
          678  +		      i++;
          679  +		  }
          680  +		tag_blk = tag_blk->next;
          681  +	    }
          682  +      }
          683  +
          684  +/* calling the user-defined NODE handling callback function */
          685  +    ret = (*node_callback) (user_data, readonly_node);
          686  +
          687  +/* resetting the export WAY object */
          688  +    reset_export_node (&exp_node);
          689  +    return ret;
          690  +}
          691  +
          692  +READOSM_PRIVATE int
          693  +call_way_callback (readosm_way_callback way_callback,
          694  +		   const void *user_data, readosm_internal_way * way)
          695  +{
          696  +/* calling the Way-handling callback function */
          697  +    int ret;
          698  +    int len;
          699  +    int i;
          700  +    readosm_internal_ref *ref;
          701  +    readosm_internal_tag *tag;
          702  +    readosm_internal_tag_block *tag_blk;
          703  +    int i_tag;
          704  +    int i_ref;
          705  +    readosm_export_way exp_way;
          706  +
          707  +/* 
          708  + / please note: READONLY-WAY simply is the same as export 
          709  + / WAY inteded to disabale any possible awful user action
          710  +*/
          711  +    readosm_way *readonly_way = (readosm_way *) & exp_way;
          712  +
          713  +/*initialing an empty export WAY object */
          714  +    init_export_way (&exp_way);
          715  +
          716  +    exp_way.id = way->id;
          717  +    exp_way.version = way->version;
          718  +    exp_way.changeset = way->changeset;
          719  +    if (way->user != NULL)
          720  +      {
          721  +	  len = strlen (way->user);
          722  +	  exp_way.user = malloc (len + 1);
          723  +	  strcpy (exp_way.user, way->user);
          724  +      }
          725  +    exp_way.uid = way->uid;
          726  +    if (way->timestamp != NULL)
          727  +      {
          728  +	  len = strlen (way->timestamp);
          729  +	  exp_way.timestamp = malloc (len + 1);
          730  +	  strcpy (exp_way.timestamp, way->timestamp);
          731  +      }
          732  +
          733  +    ref = &(way->first_ref);
          734  +    while (ref)
          735  +      {
          736  +	  exp_way.node_ref_count += ref->next_item;
          737  +	  ref = ref->next;
          738  +      }
          739  +
          740  +/* setting up the NODE-REFs array */
          741  +    if (exp_way.node_ref_count > 0)
          742  +      {
          743  +	  exp_way.node_refs =
          744  +	      malloc (sizeof (long long) * exp_way.node_ref_count);
          745  +	  i = 0;
          746  +	  ref = &(way->first_ref);
          747  +	  while (ref)
          748  +	    {
          749  +		for (i_ref = 0; i_ref < ref->next_item; i_ref++)
          750  +		  {
          751  +		      *(exp_way.node_refs + i) = *(ref->node_refs + i_ref);
          752  +		      i++;
          753  +		  }
          754  +		ref = ref->next;
          755  +	    }
          756  +      }
          757  +
          758  +/* setting up the WAY-TAGs array */
          759  +    tag_blk = &(way->first_tag);
          760  +    while (tag_blk)
          761  +      {
          762  +	  exp_way.tag_count += tag_blk->next_item;
          763  +	  tag_blk = tag_blk->next;
          764  +      }
          765  +    if (exp_way.tag_count > 0)
          766  +      {
          767  +	  readosm_export_tag *p_tag;
          768  +	  exp_way.tags =
          769  +	      malloc (sizeof (readosm_export_tag) * exp_way.tag_count);
          770  +	  for (i = 0; i < exp_way.tag_count; i++)
          771  +	    {
          772  +		p_tag = exp_way.tags + i;
          773  +		init_export_tag (p_tag);
          774  +	    }
          775  +	  i = 0;
          776  +	  tag_blk = &(way->first_tag);
          777  +	  while (tag_blk)
          778  +	    {
          779  +		for (i_tag = 0; i_tag < tag_blk->next_item; i_tag++)
          780  +		  {
          781  +		      tag = tag_blk->tags + i_tag;
          782  +		      p_tag = exp_way.tags + i;
          783  +		      if (tag->key != NULL)
          784  +			{
          785  +			    len = strlen (tag->key);
          786  +			    p_tag->key = malloc (len + 1);
          787  +			    strcpy (p_tag->key, tag->key);
          788  +			}
          789  +		      if (tag->value != NULL)
          790  +			{
          791  +			    len = strlen (tag->value);
          792  +			    p_tag->value = malloc (len + 1);
          793  +			    strcpy (p_tag->value, tag->value);
          794  +			}
          795  +		      i++;
          796  +		  }
          797  +		tag_blk = tag_blk->next;
          798  +	    }
          799  +      }
          800  +
          801  +/* calling the user-defined WAY handling callback function */
          802  +    ret = (*way_callback) (user_data, readonly_way);
          803  +
          804  +/* resetting the export WAY object */
          805  +    reset_export_way (&exp_way);
          806  +    return ret;
          807  +}
          808  +
          809  +READOSM_PRIVATE int
          810  +call_relation_callback (readosm_relation_callback relation_callback,
          811  +			const void *user_data,
          812  +			readosm_internal_relation * relation)
          813  +{
          814  +/* calling the Relation-handling callback function */
          815  +    int ret;
          816  +    int len;
          817  +    int i;
          818  +    readosm_internal_member *member;
          819  +    readosm_internal_member_block *mbr_blk;
          820  +    int i_mbr;
          821  +    readosm_internal_tag *tag;
          822  +    readosm_internal_tag_block *tag_blk;
          823  +    int i_tag;
          824  +    readosm_export_relation exp_relation;
          825  +
          826  +/* 
          827  + / please note: READONLY-RELATION simply is the same as export 
          828  + / RELATION inteded to disabale any possible awful user action
          829  +*/
          830  +    readosm_relation *readonly_relation = (readosm_relation *) & exp_relation;
          831  +
          832  +/*initialing an empty export RELATION object */
          833  +    init_export_relation (&exp_relation);
          834  +
          835  +    exp_relation.id = relation->id;
          836  +    exp_relation.version = relation->version;
          837  +    exp_relation.changeset = relation->changeset;
          838  +    if (relation->user != NULL)
          839  +      {
          840  +	  len = strlen (relation->user);
          841  +	  exp_relation.user = malloc (len + 1);
          842  +	  strcpy (exp_relation.user, relation->user);
          843  +      }
          844  +    exp_relation.uid = relation->uid;
          845  +    if (relation->timestamp != NULL)
          846  +      {
          847  +	  len = strlen (relation->timestamp);
          848  +	  exp_relation.timestamp = malloc (len + 1);
          849  +	  strcpy (exp_relation.timestamp, relation->timestamp);
          850  +      }
          851  +
          852  +/* setting up the RELATION-MEMBERs array */
          853  +    mbr_blk = &(relation->first_member);
          854  +    while (mbr_blk)
          855  +      {
          856  +	  exp_relation.member_count += mbr_blk->next_item;
          857  +	  mbr_blk = mbr_blk->next;
          858  +      }
          859  +    if (exp_relation.member_count > 0)
          860  +      {
          861  +	  readosm_export_member *p_member;
          862  +	  exp_relation.members =
          863  +	      malloc (sizeof (readosm_export_member) *
          864  +		      exp_relation.member_count);
          865  +	  for (i = 0; i < exp_relation.member_count; i++)
          866  +	    {
          867  +		p_member = exp_relation.members + i;
          868  +		init_export_member (p_member);
          869  +	    }
          870  +	  i = 0;
          871  +	  mbr_blk = &(relation->first_member);
          872  +	  while (mbr_blk)
          873  +	    {
          874  +		for (i_mbr = 0; i_mbr < mbr_blk->next_item; i_mbr++)
          875  +		  {
          876  +		      member = mbr_blk->members + i_mbr;
          877  +		      p_member = exp_relation.members + i;
          878  +		      p_member->member_type = member->member_type;
          879  +		      p_member->id = member->id;
          880  +		      if (member->role != NULL)
          881  +			{
          882  +			    len = strlen (member->role);
          883  +			    p_member->role = malloc (len + 1);
          884  +			    strcpy (p_member->role, member->role);
          885  +			}
          886  +		      i++;
          887  +		  }
          888  +		mbr_blk = mbr_blk->next;
          889  +	    }
          890  +      }
          891  +
          892  +/* setting up the RELATION-TAGs array */
          893  +    tag_blk = &(relation->first_tag);
          894  +    while (tag_blk)
          895  +      {
          896  +	  exp_relation.tag_count += tag_blk->next_item;
          897  +	  tag_blk = tag_blk->next;
          898  +      }
          899  +    if (exp_relation.tag_count > 0)
          900  +      {
          901  +	  readosm_export_tag *p_tag;
          902  +	  exp_relation.tags =
          903  +	      malloc (sizeof (readosm_export_tag) * exp_relation.tag_count);
          904  +	  for (i = 0; i < exp_relation.tag_count; i++)
          905  +	    {
          906  +		p_tag = exp_relation.tags + i;
          907  +		init_export_tag (p_tag);
          908  +	    }
          909  +	  i = 0;
          910  +	  tag_blk = &(relation->first_tag);
          911  +	  while (tag_blk)
          912  +	    {
          913  +		for (i_tag = 0; i_tag < tag_blk->next_item; i_tag++)
          914  +		  {
          915  +		      tag = tag_blk->tags + i_tag;
          916  +		      p_tag = exp_relation.tags + i;
          917  +		      if (tag->key != NULL)
          918  +			{
          919  +			    len = strlen (tag->key);
          920  +			    p_tag->key = malloc (len + 1);
          921  +			    strcpy (p_tag->key, tag->key);
          922  +			}
          923  +		      if (tag->value != NULL)
          924  +			{
          925  +			    len = strlen (tag->value);
          926  +			    p_tag->value = malloc (len + 1);
          927  +			    strcpy (p_tag->value, tag->value);
          928  +			}
          929  +		      i++;
          930  +		  }
          931  +		tag_blk = tag_blk->next;
          932  +	    }
          933  +      }
          934  +
          935  +/* calling the user-defined RELATION handling callback function */
          936  +    ret = (*relation_callback) (user_data, readonly_relation);
          937  +
          938  +/* resetting the export RELATION object */
          939  +    reset_export_relation (&exp_relation);
          940  +    return ret;
          941  +}

Added src/osmxml.c.

            1  +/* 
            2  +/ osmxml.c
            3  +/
            4  +/ OSM-XML (.osm) implementation
            5  +/
            6  +/ version  1.0, 2012 April 21
            7  +/
            8  +/ Author: Sandro Furieri a.furieri@lqt.it
            9  +/
           10  +/ ------------------------------------------------------------------------------
           11  +/ 
           12  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           13  +/ 
           14  +/ The contents of this file are subject to the Mozilla Public License Version
           15  +/ 1.1 (the "License"); you may not use this file except in compliance with
           16  +/ the License. You may obtain a copy of the License at
           17  +/ http://www.mozilla.org/MPL/
           18  +/ 
           19  +/ Software distributed under the License is distributed on an "AS IS" basis,
           20  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           21  +/ for the specific language governing rights and limitations under the
           22  +/ License.
           23  +/
           24  +/ The Original Code is the ReadOSM library
           25  +/
           26  +/ The Initial Developer of the Original Code is Alessandro Furieri
           27  +/ 
           28  +/ Portions created by the Initial Developer are Copyright (C) 2012
           29  +/ the Initial Developer. All Rights Reserved.
           30  +/ 
           31  +/ Contributor(s):
           32  +/ 
           33  +/ Alternatively, the contents of this file may be used under the terms of
           34  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           35  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           36  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           37  +/ of those above. If you wish to allow use of your version of this file only
           38  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           39  +/ use your version of this file under the terms of the MPL, indicate your
           40  +/ decision by deleting the provisions above and replace them with the notice
           41  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           42  +/ the provisions above, a recipient may use your version of this file under
           43  +/ the terms of any one of the MPL, the GPL or the LGPL.
           44  +/ 
           45  +*/
           46  +
           47  +#include <stdlib.h>
           48  +#include <stdio.h>
           49  +#include <string.h>
           50  +
           51  +#include <expat.h>
           52  +
           53  +#if defined(_WIN32) && !defined(__MINGW32__)
           54  +/* MSVC: avoiding to include at all config.h */
           55  +#else
           56  +#include "config.h"
           57  +#endif
           58  +
           59  +#include "readosm.h"
           60  +#include "readosm_internals.h"
           61  +
           62  +#if defined(_WIN32)
           63  +#define atol_64		_atoi64
           64  +#else
           65  +#define atol_64		atoll
           66  +#endif
           67  +
           68  +#define BUFFSIZE	8192
           69  +
           70  +struct xml_params
           71  +{
           72  +/* an helper struct supporting XML parsing */
           73  +    int current_tag;
           74  +    const void *user_data;
           75  +    readosm_node_callback node_callback;
           76  +    readosm_way_callback way_callback;
           77  +    readosm_relation_callback relation_callback;
           78  +    readosm_internal_node node;
           79  +    readosm_internal_way way;
           80  +    readosm_internal_relation relation;
           81  +    int stop;
           82  +};
           83  +
           84  +static void
           85  +xml_init_params (struct xml_params *params, const void *user_data,
           86  +		 readosm_node_callback node_fnct, readosm_way_callback way_fnct,
           87  +		 readosm_relation_callback relation_fnct, int stop)
           88  +{
           89  +/* initializing an empty XML helper structure */
           90  +    params->current_tag = READOSM_CURRENT_TAG_UNKNOWN;
           91  +    params->user_data = user_data;
           92  +    params->node_callback = node_fnct;
           93  +    params->way_callback = way_fnct;
           94  +    params->relation_callback = relation_fnct;
           95  +
           96  +    params->node.id = READOSM_UNDEFINED;
           97  +    params->node.latitude = READOSM_UNDEFINED;
           98  +    params->node.longitude = READOSM_UNDEFINED;
           99  +    params->node.version = READOSM_UNDEFINED;
          100  +    params->node.changeset = READOSM_UNDEFINED;
          101  +    params->node.user = NULL;
          102  +    params->node.uid = READOSM_UNDEFINED;
          103  +    params->node.timestamp = NULL;
          104  +    params->node.tag_count = 0;
          105  +    params->node.first_tag.next_item = 0;
          106  +    params->node.first_tag.next = NULL;
          107  +    params->node.last_tag = &(params->node.first_tag);
          108  +
          109  +    params->way.id = READOSM_UNDEFINED;
          110  +    params->way.version = READOSM_UNDEFINED;
          111  +    params->way.changeset = READOSM_UNDEFINED;
          112  +    params->way.user = NULL;
          113  +    params->way.uid = READOSM_UNDEFINED;
          114  +    params->way.timestamp = NULL;
          115  +    params->way.ref_count = 0;
          116  +    params->way.first_ref.next_item = 0;
          117  +    params->way.first_ref.next = NULL;
          118  +    params->way.last_ref = &(params->way.first_ref);
          119  +    params->way.tag_count = 0;
          120  +    params->way.first_tag.next_item = 0;
          121  +    params->way.first_tag.next = NULL;
          122  +    params->way.last_tag = &(params->way.first_tag);
          123  +
          124  +    params->relation.id = READOSM_UNDEFINED;
          125  +    params->relation.version = READOSM_UNDEFINED;
          126  +    params->relation.changeset = READOSM_UNDEFINED;
          127  +    params->relation.user = NULL;
          128  +    params->relation.uid = READOSM_UNDEFINED;
          129  +    params->relation.timestamp = NULL;
          130  +    params->relation.member_count = 0;
          131  +    params->relation.first_member.next_item = 0;
          132  +    params->relation.first_member.next = NULL;
          133  +    params->relation.last_member = &(params->relation.first_member);
          134  +    params->relation.tag_count = 0;
          135  +    params->relation.first_tag.next_item = 0;
          136  +    params->relation.first_tag.next = NULL;
          137  +    params->relation.last_tag = &(params->relation.first_tag);
          138  +
          139  +    params->stop = stop;
          140  +}
          141  +
          142  +static void
          143  +xml_reset_params (struct xml_params *params)
          144  +{
          145  +/* resetting the XML helper structure to initial empty state */
          146  +    readosm_internal_tag_block *tag_blk;
          147  +    readosm_internal_tag_block *tag_blk_n;
          148  +    readosm_internal_ref *ref;
          149  +    readosm_internal_ref *ref_n;
          150  +    readosm_internal_member_block *mbr_blk;
          151  +    readosm_internal_member_block *mbr_blk_n;
          152  +
          153  +    if (params->node.user)
          154  +	free (params->node.user);
          155  +    if (params->node.timestamp)
          156  +
          157  +	free (params->node.timestamp);
          158  +    tag_blk = &(params->node.first_tag);
          159  +    while (tag_blk)
          160  +      {
          161  +	  tag_blk_n = tag_blk->next;
          162  +	  if (tag_blk == &(params->node.first_tag))
          163  +	      release_internal_tag_block (tag_blk, 0);
          164  +	  else
          165  +	      release_internal_tag_block (tag_blk, 1);
          166  +	  tag_blk = tag_blk_n;
          167  +      }
          168  +    params->node.first_tag.next_item = 0;
          169  +    params->node.first_tag.next = NULL;
          170  +    params->node.last_tag = &(params->node.first_tag);
          171  +
          172  +    if (params->way.user)
          173  +	free (params->way.user);
          174  +    if (params->way.timestamp)
          175  +	free (params->way.timestamp);
          176  +    ref = params->way.first_ref.next;
          177  +    while (ref)
          178  +      {
          179  +	  ref_n = ref->next;
          180  +	  free (ref);
          181  +	  ref = ref_n;
          182  +      }
          183  +    params->way.first_ref.next_item = 0;
          184  +    params->way.first_ref.next = NULL;
          185  +    params->way.last_ref = &(params->way.first_ref);
          186  +    tag_blk = &(params->way.first_tag);
          187  +    while (tag_blk)
          188  +      {
          189  +	  tag_blk_n = tag_blk->next;
          190  +	  if (tag_blk == &(params->way.first_tag))
          191  +	      release_internal_tag_block (tag_blk, 0);
          192  +	  else
          193  +	      release_internal_tag_block (tag_blk, 1);
          194  +	  tag_blk = tag_blk_n;
          195  +      }
          196  +    params->way.first_tag.next_item = 0;
          197  +    params->way.first_tag.next = NULL;
          198  +    params->way.last_tag = &(params->way.first_tag);
          199  +
          200  +    if (params->relation.user)
          201  +	free (params->relation.user);
          202  +    if (params->relation.timestamp)
          203  +	free (params->relation.timestamp);
          204  +    mbr_blk = &(params->relation.first_member);
          205  +    while (mbr_blk)
          206  +      {
          207  +	  mbr_blk_n = mbr_blk->next;
          208  +	  if (mbr_blk == &(params->relation.first_member))
          209  +	      release_internal_member_block (mbr_blk, 0);
          210  +	  else
          211  +	      release_internal_member_block (mbr_blk, 1);
          212  +	  mbr_blk = mbr_blk_n;
          213  +      }
          214  +    params->relation.first_member.next_item = 0;
          215  +    params->relation.first_member.next = NULL;
          216  +    params->relation.last_member = &(params->relation.first_member);
          217  +    tag_blk = &(params->relation.first_tag);
          218  +    while (tag_blk)
          219  +      {
          220  +	  tag_blk_n = tag_blk->next;
          221  +	  if (tag_blk == &(params->relation.first_tag))
          222  +	      release_internal_tag_block (tag_blk, 0);
          223  +	  else
          224  +	      release_internal_tag_block (tag_blk, 1);
          225  +	  tag_blk = tag_blk_n;
          226  +      }
          227  +    params->relation.first_tag.next_item = 0;
          228  +    params->relation.first_tag.next = NULL;
          229  +    params->relation.last_tag = &(params->relation.first_tag);
          230  +
          231  +    xml_init_params (params, params->user_data, params->node_callback,
          232  +		     params->way_callback, params->relation_callback,
          233  +		     params->stop);
          234  +}
          235  +
          236  +static void
          237  +xml_start_node (struct xml_params *params, const char **attr)
          238  +{
          239  +/* an XML Node starts here */
          240  +    int i;
          241  +    int len;
          242  +    xml_reset_params (params);
          243  +    for (i = 0; attr[i]; i += 2)
          244  +      {
          245  +	  if (strcmp (attr[i], "id") == 0)
          246  +	      params->node.id = atol_64 (attr[i + 1]);
          247  +	  if (strcmp (attr[i], "lat") == 0)
          248  +	      params->node.latitude = atof (attr[i + 1]);
          249  +	  if (strcmp (attr[i], "lon") == 0)
          250  +	      params->node.longitude = atof (attr[i + 1]);
          251  +	  if (strcmp (attr[i], "version") == 0)
          252  +	      params->node.version = atoi (attr[i + 1]);
          253  +	  if (strcmp (attr[i], "changeset") == 0)
          254  +	      params->node.changeset = atol_64 (attr[i + 1]);
          255  +	  if (strcmp (attr[i], "user") == 0)
          256  +	    {
          257  +		len = strlen (attr[i + 1]);
          258  +		params->node.user = malloc (len + 1);
          259  +		strcpy (params->node.user, attr[i + 1]);
          260  +	    }
          261  +	  if (strcmp (attr[i], "uid") == 0)
          262  +	      params->node.uid = atoi (attr[i + 1]);
          263  +	  if (strcmp (attr[i], "timestamp") == 0)
          264  +	    {
          265  +		len = strlen (attr[i + 1]);
          266  +		params->node.timestamp = malloc (len + 1);
          267  +		strcpy (params->node.timestamp, attr[i + 1]);
          268  +	    }
          269  +      }
          270  +    params->current_tag = READOSM_CURRENT_TAG_IS_NODE;
          271  +}
          272  +
          273  +static void
          274  +xml_end_node (struct xml_params *params)
          275  +{
          276  +/* an XML Node ends here */
          277  +    if (params->node_callback != NULL && params->stop == 0)
          278  +      {
          279  +	  int ret =
          280  +	      call_node_callback (params->node_callback, params->user_data,
          281  +				  &(params->node));
          282  +	  if (ret != READOSM_OK)
          283  +	      params->stop = 1;
          284  +      }
          285  +    xml_reset_params (params);
          286  +}
          287  +
          288  +static void
          289  +xml_start_way (struct xml_params *params, const char **attr)
          290  +{
          291  +/* an XML Way starts here */
          292  +    int i;
          293  +    int len;
          294  +    xml_reset_params (params);
          295  +    for (i = 0; attr[i]; i += 2)
          296  +      {
          297  +	  if (strcmp (attr[i], "id") == 0)
          298  +	      params->way.id = atol_64 (attr[i + 1]);
          299  +	  if (strcmp (attr[i], "version") == 0)
          300  +	      params->way.version = atoi (attr[i + 1]);
          301  +	  if (strcmp (attr[i], "changeset") == 0)
          302  +	      params->way.changeset = atol_64 (attr[i + 1]);
          303  +	  if (strcmp (attr[i], "user") == 0)
          304  +	    {
          305  +		len = strlen (attr[i + 1]);
          306  +		params->way.user = malloc (len + 1);
          307  +		strcpy (params->way.user, attr[i + 1]);
          308  +	    }
          309  +	  if (strcmp (attr[i], "uid") == 0)
          310  +	      params->way.uid = atoi (attr[i + 1]);
          311  +	  if (strcmp (attr[i], "timestamp") == 0)
          312  +	    {
          313  +		len = strlen (attr[i + 1]);
          314  +		params->way.timestamp = malloc (len + 1);
          315  +		strcpy (params->way.timestamp, attr[i + 1]);
          316  +	    }
          317  +      }
          318  +    params->current_tag = READOSM_CURRENT_TAG_IS_WAY;
          319  +}
          320  +
          321  +static void
          322  +xml_end_way (struct xml_params *params)
          323  +{
          324  +/* an XML Way ends here */
          325  +    if (params->way_callback != NULL && params->stop == 0)
          326  +      {
          327  +	  int ret = call_way_callback (params->way_callback, params->user_data,
          328  +				       &(params->way));
          329  +	  if (ret != READOSM_OK)
          330  +	      params->stop = 1;
          331  +      }
          332  +    xml_reset_params (params);
          333  +}
          334  +
          335  +static void
          336  +xml_start_relation (struct xml_params *params, const char **attr)
          337  +{
          338  +/* an XML Relation starts here */
          339  +    int i;
          340  +    int len;
          341  +    xml_reset_params (params);
          342  +    for (i = 0; attr[i]; i += 2)
          343  +      {
          344  +	  if (strcmp (attr[i], "id") == 0)
          345  +	      params->relation.id = atol_64 (attr[i + 1]);
          346  +	  if (strcmp (attr[i], "version") == 0)
          347  +	      params->relation.version = atoi (attr[i + 1]);
          348  +	  if (strcmp (attr[i], "changeset") == 0)
          349  +	      params->relation.changeset = atol_64 (attr[i + 1]);
          350  +	  if (strcmp (attr[i], "user") == 0)
          351  +	    {
          352  +		len = strlen (attr[i + 1]);
          353  +		params->relation.user = malloc (len + 1);
          354  +		strcpy (params->relation.user, attr[i + 1]);
          355  +	    }
          356  +	  if (strcmp (attr[i], "uid") == 0)
          357  +	      params->relation.uid = atoi (attr[i + 1]);
          358  +	  if (strcmp (attr[i], "timestamp") == 0)
          359  +	    {
          360  +		len = strlen (attr[i + 1]);
          361  +		params->relation.timestamp = malloc (len + 1);
          362  +		strcpy (params->relation.timestamp, attr[i + 1]);
          363  +	    }
          364  +      }
          365  +    params->current_tag = READOSM_CURRENT_TAG_IS_RELATION;
          366  +}
          367  +
          368  +static void
          369  +xml_end_relation (struct xml_params *params)
          370  +{
          371  +/* an XML Relation ends here */
          372  +    if (params->relation_callback != NULL && params->stop == 0)
          373  +      {
          374  +	  int ret = call_relation_callback (params->relation_callback,
          375  +					    params->user_data,
          376  +					    &(params->relation));
          377  +	  if (ret != READOSM_OK)
          378  +	      params->stop = 1;
          379  +      }
          380  +    xml_reset_params (params);
          381  +}
          382  +
          383  +static void
          384  +xml_start_xtag (struct xml_params *params, const char **attr)
          385  +{
          386  +/* an XML Tag starts here */
          387  +    const char *key = NULL;
          388  +    const char *value = NULL;
          389  +    int i;
          390  +
          391  +    if (params->current_tag == READOSM_CURRENT_TAG_IS_NODE
          392  +	|| params->current_tag == READOSM_CURRENT_TAG_IS_WAY
          393  +	|| params->current_tag == READOSM_CURRENT_TAG_IS_RELATION)
          394  +      {
          395  +	  for (i = 0; attr[i]; i += 2)
          396  +	    {
          397  +		if (strcmp (attr[i], "k") == 0)
          398  +		    key = attr[i + 1];
          399  +		if (strcmp (attr[i], "v") == 0)
          400  +		    value = attr[i + 1];
          401  +	    }
          402  +	  if (params->current_tag == READOSM_CURRENT_TAG_IS_NODE)
          403  +	      append_tag_to_node (&(params->node), key, value);
          404  +	  if (params->current_tag == READOSM_CURRENT_TAG_IS_WAY)
          405  +	      append_tag_to_way (&(params->way), key, value);
          406  +	  if (params->current_tag == READOSM_CURRENT_TAG_IS_RELATION)
          407  +	      append_tag_to_relation (&(params->relation), key, value);
          408  +      }
          409  +}
          410  +
          411  +static void
          412  +xml_start_nd (struct xml_params *params, const char **attr)
          413  +{
          414  +/* an XML Nd starts here */
          415  +    int i;
          416  +
          417  +    if (params->current_tag == READOSM_CURRENT_TAG_IS_WAY)
          418  +      {
          419  +	  for (i = 0; attr[i]; i += 2)
          420  +	    {
          421  +		if (strcmp (attr[i], "ref") == 0)
          422  +		    append_reference_to_way (&(params->way),
          423  +					     atol_64 (attr[i + 1]));
          424  +	    }
          425  +      }
          426  +}
          427  +
          428  +static void
          429  +xml_start_member (struct xml_params *params, const char **attr)
          430  +{
          431  +/* an XML Member starts here */
          432  +    long long id = 0;
          433  +    int type = READOSM_UNDEFINED;
          434  +    const char *role = NULL;
          435  +    int i;
          436  +
          437  +    if (params->current_tag == READOSM_CURRENT_TAG_IS_RELATION)
          438  +      {
          439  +	  for (i = 0; attr[i]; i += 2)
          440  +	    {
          441  +		if (strcmp (attr[i], "ref") == 0)
          442  +		    id = atol_64 (attr[i + 1]);
          443  +		if (strcmp (attr[i], "type") == 0)
          444  +		  {
          445  +		      if (strcmp (attr[i + 1], "node") == 0)
          446  +			  type = READOSM_MEMBER_NODE;
          447  +		      if (strcmp (attr[i + 1], "way") == 0)
          448  +			  type = READOSM_MEMBER_WAY;
          449  +		      if (strcmp (attr[i + 1], "relation") == 0)
          450  +			  type = READOSM_MEMBER_RELATION;
          451  +		  }
          452  +		if (strcmp (attr[i], "role") == 0)
          453  +		    role = attr[i + 1];
          454  +	    }
          455  +	  append_member_to_relation (&(params->relation), type, id, role);
          456  +      }
          457  +}
          458  +
          459  +static void
          460  +xml_start_tag (void *data, const char *el, const char **attr)
          461  +{
          462  +/* some generic XML tag starts here */
          463  +    struct xml_params *params = (struct xml_params *) data;
          464  +    if (strcmp (el, "node") == 0)
          465  +	xml_start_node (params, attr);
          466  +    if (strcmp (el, "tag") == 0)
          467  +	xml_start_xtag (params, attr);
          468  +    if (strcmp (el, "way") == 0)
          469  +	xml_start_way (params, attr);
          470  +    if (strcmp (el, "nd") == 0)
          471  +	xml_start_nd (params, attr);
          472  +    if (strcmp (el, "relation") == 0)
          473  +	xml_start_relation (params, attr);
          474  +    if (strcmp (el, "member") == 0)
          475  +	xml_start_member (params, attr);
          476  +}
          477  +
          478  +static void
          479  +xml_end_tag (void *data, const char *el)
          480  +{
          481  +/* some generic XML tag ends here */
          482  +    struct xml_params *params = (struct xml_params *) data;
          483  +    if (strcmp (el, "node") == 0)
          484  +	xml_end_node (params);
          485  +    if (strcmp (el, "way") == 0)
          486  +	xml_end_way (params);
          487  +    if (strcmp (el, "relation") == 0)
          488  +	xml_end_relation (params);
          489  +}
          490  +
          491  +READOSM_PRIVATE int
          492  +parse_osm_xml (readosm_file * input, const void *user_data,
          493  +	       readosm_node_callback node_fnct, readosm_way_callback way_fnct,
          494  +	       readosm_relation_callback relation_fnct)
          495  +{
          496  +/* parsing the input file [OSM XML format] */
          497  +    XML_Parser parser;
          498  +    char xml_buff[BUFFSIZE];
          499  +    int done = 0;
          500  +    int len;
          501  +    struct xml_params params;
          502  +
          503  +    xml_init_params (&params, user_data, node_fnct, way_fnct, relation_fnct, 0);
          504  +
          505  +    parser = XML_ParserCreate (NULL);
          506  +    if (!parser)
          507  +	return READOSM_CREATE_XML_PARSER_ERROR;
          508  +
          509  +    XML_SetUserData (parser, &params);
          510  +    XML_SetElementHandler (parser, xml_start_tag, xml_end_tag);
          511  +    while (!done)
          512  +      {
          513  +	  len = fread (xml_buff, 1, BUFFSIZE, input->in);
          514  +	  if (ferror (input->in))
          515  +	      return READOSM_READ_ERROR;
          516  +	  done = feof (input->in);
          517  +	  if (!XML_Parse (parser, xml_buff, len, done))
          518  +	      return READOSM_XML_ERROR;
          519  +	  if (params.stop)
          520  +	      return READOSM_ABORT;
          521  +      }
          522  +    XML_ParserFree (parser);
          523  +
          524  +    return READOSM_OK;
          525  +}

Added src/protobuf.c.

            1  +/* 
            2  +/ protobuf.c
            3  +/
            4  +/ Protocol Buffer (.pbf) implementation
            5  +/
            6  +/ version  1.0, 2012 April 21
            7  +/
            8  +/ Author: Sandro Furieri a.furieri@lqt.it
            9  +/
           10  +/ ------------------------------------------------------------------------------
           11  +/ 
           12  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           13  +/ 
           14  +/ The contents of this file are subject to the Mozilla Public License Version
           15  +/ 1.1 (the "License"); you may not use this file except in compliance with
           16  +/ the License. You may obtain a copy of the License at
           17  +/ http://www.mozilla.org/MPL/
           18  +/ 
           19  +/ Software distributed under the License is distributed on an "AS IS" basis,
           20  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           21  +/ for the specific language governing rights and limitations under the
           22  +/ License.
           23  +/
           24  +/ The Original Code is the ReadOSM library
           25  +/
           26  +/ The Initial Developer of the Original Code is Alessandro Furieri
           27  +/ 
           28  +/ Portions created by the Initial Developer are Copyright (C) 2012
           29  +/ the Initial Developer. All Rights Reserved.
           30  +/ 
           31  +/ Contributor(s):
           32  +/ 
           33  +/ Alternatively, the contents of this file may be used under the terms of
           34  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           35  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           36  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           37  +/ of those above. If you wish to allow use of your version of this file only
           38  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           39  +/ use your version of this file under the terms of the MPL, indicate your
           40  +/ decision by deleting the provisions above and replace them with the notice
           41  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           42  +/ the provisions above, a recipient may use your version of this file under
           43  +/ the terms of any one of the MPL, the GPL or the LGPL.
           44  +/ 
           45  +*/
           46  +
           47  +#include <stdlib.h>
           48  +#include <stdio.h>
           49  +#include <string.h>
           50  +#include <memory.h>
           51  +#include <time.h>
           52  +
           53  +#include <zlib.h>
           54  +
           55  +#if defined(_WIN32) && !defined(__MINGW32__)
           56  +/* MSVC: avoiding to include at all config.h */
           57  +#else
           58  +#include "config.h"
           59  +#endif
           60  +
           61  +#include "readosm.h"
           62  +#include "readosm_internals.h"
           63  +#include "readosm_protobuf.h"
           64  +
           65  +#define MAX_NODES 1024
           66  +
           67  +struct pbf_params
           68  +{
           69  +/* an helper struct supporting PBF parsing */
           70  +    const void *user_data;
           71  +    readosm_node_callback node_callback;
           72  +    readosm_way_callback way_callback;
           73  +    readosm_relation_callback relation_callback;
           74  +    int stop;
           75  +};
           76  +
           77  +static void
           78  +init_variant (readosm_variant * variant, int little_endian_cpu)
           79  +{
           80  +/* initializing an empty PBF Variant object */
           81  +    variant->little_endian_cpu = little_endian_cpu;
           82  +    variant->type = READOSM_VAR_UNDEFINED;
           83  +    variant->field_id = 0;
           84  +    variant->length = 0;
           85  +    variant->pointer = NULL;
           86  +    variant->valid = 0;
           87  +    variant->first = NULL;
           88  +    variant->last = NULL;
           89  +}
           90  +
           91  +static void
           92  +reset_variant (readosm_variant * variant)
           93  +{
           94  +/* resetting a PBF Variant object to its initial empty state */
           95  +    variant->type = READOSM_VAR_UNDEFINED;
           96  +    variant->field_id = 0;
           97  +    variant->length = 0;
           98  +    variant->pointer = NULL;
           99  +    variant->valid = 0;
          100  +}
          101  +
          102  +static void
          103  +add_variant_hints (readosm_variant * variant, unsigned char type,
          104  +		   unsigned char field_id)
          105  +{
          106  +/* adding a field hint to a PBF Variant object */
          107  +    readosm_variant_hint *hint = malloc (sizeof (readosm_variant_hint));
          108  +    hint->type = type;
          109  +    hint->field_id = field_id;
          110  +    hint->next = NULL;
          111  +    if (variant->first == NULL)
          112  +	variant->first = hint;
          113  +    if (variant->last != NULL)
          114  +	variant->last->next = hint;
          115  +    variant->last = hint;
          116  +}
          117  +
          118  +static int
          119  +find_type_hint (readosm_variant * variant, unsigned char field_id,
          120  +		unsigned char type, unsigned char *type_hint)
          121  +{
          122  +/* attempting to find the type hint for some PBF Variant field */
          123  +    readosm_variant_hint *hint = variant->first;
          124  +    while (hint)
          125  +      {
          126  +	  if (hint->field_id == field_id)
          127  +	    {
          128  +		switch (type)
          129  +		  {
          130  +		  case 0:
          131  +		      switch (hint->type)
          132  +			{
          133  +			case READOSM_VAR_INT32:
          134  +			case READOSM_VAR_INT64:
          135  +			case READOSM_VAR_UINT32:
          136  +			case READOSM_VAR_UINT64:
          137  +			case READOSM_VAR_SINT32:
          138  +			case READOSM_VAR_SINT64:
          139  +			case READOSM_VAR_BOOL:
          140  +			case READOSM_VAR_ENUM:
          141  +			    *type_hint = hint->type;
          142  +			    return 1;
          143  +			}
          144  +		      break;
          145  +		  case 2:
          146  +		      if (hint->type == READOSM_LEN_BYTES)
          147  +			{
          148  +			    *type_hint = hint->type;
          149  +			    return 1;
          150  +			}
          151  +		      break;
          152  +		  };
          153  +	    }
          154  +	  hint = hint->next;
          155  +      }
          156  +    return 0;
          157  +}
          158  +
          159  +static void
          160  +finalize_variant (readosm_variant * variant)
          161  +{
          162  +/* cleaning any memory allocation for a PBF Variant object */
          163  +    readosm_variant_hint *hint;
          164  +    readosm_variant_hint *hint_n;
          165  +    hint = variant->first;
          166  +    while (hint)
          167  +      {
          168  +	  hint_n = hint->next;
          169  +	  free (hint);
          170  +	  hint = hint_n;
          171  +      }
          172  +    variant->first = NULL;
          173  +    variant->last = NULL;
          174  +}
          175  +
          176  +static void
          177  +init_string_table (readosm_string_table * string_table)
          178  +{
          179  +/* initializing an empty PBF StringTable object */
          180  +    string_table->first = NULL;
          181  +    string_table->last = NULL;
          182  +    string_table->count = 0;
          183  +    string_table->strings = NULL;
          184  +}
          185  +
          186  +static void
          187  +append_string_to_table (readosm_string_table * string_table,
          188  +			readosm_variant * variant)
          189  +{
          190  +/* appending a string to a PBF StringTable object */
          191  +    readosm_string *string = malloc (sizeof (readosm_string));
          192  +    string->string = malloc (variant->length + 1);
          193  +    memcpy (string->string, variant->pointer, variant->length);
          194  +    *(string->string + variant->length) = '\0';
          195  +    string->next = NULL;
          196  +    if (string_table->first == NULL)
          197  +	string_table->first = string;
          198  +    if (string_table->last != NULL)
          199  +	string_table->last->next = string;
          200  +    string_table->last = string;
          201  +}
          202  +
          203  +static void
          204  +array_from_string_table (readosm_string_table * string_table)
          205  +{
          206  +/* creating a pointer array supporting a StringTable object */
          207  +    int i;
          208  +    readosm_string *string = string_table->first;
          209  +    while (string != NULL)
          210  +      {
          211  +	  /* counting how many strings are into the table */
          212  +	  string_table->count++;
          213  +	  string = string->next;
          214  +      }
          215  +    if (string_table->count <= 0)
          216  +	return;
          217  +
          218  +/* allocating the pointer array */
          219  +    string_table->strings =
          220  +	malloc (sizeof (readosm_string *) * string_table->count);
          221  +    i = 0;
          222  +    string = string_table->first;
          223  +    while (string != NULL)
          224  +      {
          225  +	  /* setting up pointers to strings */
          226  +	  *(string_table->strings + i) = string;
          227  +	  i++;
          228  +	  string = string->next;
          229  +      }
          230  +}
          231  +
          232  +static void
          233  +finalize_string_table (readosm_string_table * string_table)
          234  +{
          235  +/* cleaning any memory allocation for a StringTable object */
          236  +    readosm_string *string;
          237  +    readosm_string *string_n;
          238  +    string = string_table->first;
          239  +    while (string)
          240  +      {
          241  +	  string_n = string->next;
          242  +	  if (string->string)
          243  +	      free (string->string);
          244  +	  free (string);
          245  +	  string = string_n;
          246  +      }
          247  +    if (string_table->strings)
          248  +	free (string_table->strings);
          249  +}
          250  +
          251  +static void
          252  +init_uint32_packed (readosm_uint32_packed * packed)
          253  +{
          254  +/* initialing an empty PBF uint32 packed object */
          255  +    packed->first = NULL;
          256  +    packed->last = NULL;
          257  +    packed->count = 0;
          258  +    packed->values = NULL;
          259  +}
          260  +
          261  +static void
          262  +append_uint32_packed (readosm_uint32_packed * packed, unsigned int val)
          263  +{
          264  +/* appending an uint32 value to a PBF packed object */
          265  +    readosm_uint32 *value = malloc (sizeof (readosm_uint32));
          266  +    value->value = val;
          267  +    value->next = NULL;
          268  +    if (packed->first == NULL)
          269  +	packed->first = value;
          270  +    if (packed->last != NULL)
          271  +	packed->last->next = value;
          272  +    packed->last = value;
          273  +}
          274  +
          275  +static void
          276  +array_from_uint32_packed (readosm_uint32_packed * packed)
          277  +{
          278  +/* creating an array supporting an uint32 packed object */
          279  +    int i;
          280  +    readosm_uint32 *value = packed->first;
          281  +    while (value != NULL)
          282  +      {
          283  +	  /* counting how many values are into the packed list */
          284  +	  packed->count++;
          285  +	  value = value->next;
          286  +      }
          287  +    if (packed->count <= 0)
          288  +	return;
          289  +
          290  +/* allocating the array */
          291  +    packed->values = malloc (sizeof (unsigned int) * packed->count);
          292  +    i = 0;
          293  +    value = packed->first;
          294  +    while (value != NULL)
          295  +      {
          296  +	  /* setting up array values */
          297  +	  *(packed->values + i) = value->value;
          298  +	  i++;
          299  +	  value = value->next;
          300  +      }
          301  +}
          302  +
          303  +static void
          304  +finalize_uint32_packed (readosm_uint32_packed * packed)
          305  +{
          306  +/* cleaning any memory allocation for an uint32 packed object */
          307  +    readosm_uint32 *value;
          308  +    readosm_uint32 *value_n;
          309  +    value = packed->first;
          310  +    while (value)
          311  +      {
          312  +	  value_n = value->next;
          313  +	  free (value);
          314  +	  value = value_n;
          315  +      }
          316  +    if (packed->values)
          317  +	free (packed->values);
          318  +
          319  +}
          320  +
          321  +static void
          322  +reset_uint32_packed (readosm_uint32_packed * packed)
          323  +{
          324  +/* resetting an uint32 packed object to empty initial state */
          325  +    finalize_uint32_packed (packed);
          326  +    packed->first = NULL;
          327  +    packed->last = NULL;
          328  +    packed->count = 0;
          329  +    packed->values = NULL;
          330  +}
          331  +
          332  +static void
          333  +init_int32_packed (readosm_int32_packed * packed)
          334  +{
          335  +/* initialing an empty PBF int32 packed object */
          336  +    packed->first = NULL;
          337  +    packed->last = NULL;
          338  +    packed->count = 0;
          339  +    packed->values = NULL;
          340  +}
          341  +
          342  +static void
          343  +append_int32_packed (readosm_int32_packed * packed, int val)
          344  +{
          345  +/* appending an int32 value to a PBF packed object */
          346  +    readosm_int32 *value = malloc (sizeof (readosm_int32));
          347  +    value->value = val;
          348  +    value->next = NULL;
          349  +    if (packed->first == NULL)
          350  +	packed->first = value;
          351  +    if (packed->last != NULL)
          352  +	packed->last->next = value;
          353  +    packed->last = value;
          354  +}
          355  +
          356  +static void
          357  +finalize_int32_packed (readosm_int32_packed * packed)
          358  +{
          359  +/* cleaning any memory allocation for an int32 packed object */
          360  +    readosm_int32 *value;
          361  +    readosm_int32 *value_n;
          362  +    value = packed->first;
          363  +    while (value)
          364  +      {
          365  +	  value_n = value->next;
          366  +	  free (value);
          367  +	  value = value_n;
          368  +      }
          369  +    if (packed->values)
          370  +	free (packed->values);
          371  +
          372  +}
          373  +
          374  +static void
          375  +reset_int32_packed (readosm_int32_packed * packed)
          376  +{
          377  +/* resetting an int32 packed object to empty initial state */
          378  +    finalize_int32_packed (packed);
          379  +    packed->first = NULL;
          380  +    packed->last = NULL;
          381  +    packed->count = 0;
          382  +    packed->values = NULL;
          383  +}
          384  +
          385  +static void
          386  +init_int64_packed (readosm_int64_packed * packed)
          387  +{
          388  +/* initialing an empty PBF int64 packed object */
          389  +    packed->first = NULL;
          390  +    packed->last = NULL;
          391  +    packed->count = 0;
          392  +    packed->values = NULL;
          393  +}
          394  +
          395  +static void
          396  +append_int64_packed (readosm_int64_packed * packed, long long val)
          397  +{
          398  +/* appending an int64 value to a PBF packed object */
          399  +    readosm_int64 *value = malloc (sizeof (readosm_int64));
          400  +    value->value = val;
          401  +    value->next = NULL;
          402  +    if (packed->first == NULL)
          403  +	packed->first = value;
          404  +    if (packed->last != NULL)
          405  +	packed->last->next = value;
          406  +    packed->last = value;
          407  +}
          408  +
          409  +static void
          410  +array_from_int64_packed (readosm_int64_packed * packed)
          411  +{
          412  +/* creating an array supporting an int64 packed object */
          413  +    int i;
          414  +    readosm_int64 *value = packed->first;
          415  +    while (value != NULL)
          416  +      {
          417  +	  /* counting how many values are into the packed list */
          418  +	  packed->count++;
          419  +	  value = value->next;
          420  +      }
          421  +    if (packed->count <= 0)
          422  +	return;
          423  +
          424  +/* allocating the array */
          425  +    packed->values = malloc (sizeof (long long) * packed->count);
          426  +    i = 0;
          427  +    value = packed->first;
          428  +    while (value != NULL)
          429  +      {
          430  +	  /* setting up array values */
          431  +	  *(packed->values + i) = value->value;
          432  +	  i++;
          433  +	  value = value->next;
          434  +      }
          435  +}
          436  +
          437  +static void
          438  +finalize_int64_packed (readosm_int64_packed * packed)
          439  +{
          440  +/* cleaning any memory allocation for an int64 packed object */
          441  +    readosm_int64 *value;
          442  +    readosm_int64 *value_n;
          443  +    value = packed->first;
          444  +    while (value)
          445  +      {
          446  +	  value_n = value->next;
          447  +	  free (value);
          448  +	  value = value_n;
          449  +      }
          450  +    if (packed->values)
          451  +	free (packed->values);
          452  +}
          453  +
          454  +static void
          455  +reset_int64_packed (readosm_int64_packed * packed)
          456  +{
          457  +/* resetting an int64 packed object to empty initial state */
          458  +    finalize_int64_packed (packed);
          459  +    packed->first = NULL;
          460  +    packed->last = NULL;
          461  +    packed->count = 0;
          462  +    packed->values = NULL;
          463  +}
          464  +
          465  +static void
          466  +init_packed_infos (readosm_packed_infos * packed)
          467  +{
          468  +/* initialing an empty PBF  packed Infos object */
          469  +    packed->ver_count = 0;
          470  +    packed->versions = NULL;
          471  +    packed->tim_count = 0;
          472  +    packed->timestamps = NULL;
          473  +    packed->cng_count = 0;
          474  +    packed->changesets = NULL;
          475  +    packed->uid_count = 0;
          476  +    packed->uids = NULL;
          477  +    packed->usr_count = 0;
          478  +    packed->users = NULL;
          479  +}
          480  +
          481  +static void
          482  +finalize_packed_infos (readosm_packed_infos * packed)
          483  +{
          484  +/* cleaning any memory allocation for a packed Infos object */
          485  +    if (packed->versions)
          486  +	free (packed->versions);
          487  +    if (packed->timestamps)
          488  +	free (packed->timestamps);
          489  +    if (packed->changesets)
          490  +	free (packed->changesets);
          491  +    if (packed->uids)
          492  +	free (packed->uids);
          493  +    if (packed->users)
          494  +	free (packed->users);
          495  +}
          496  +
          497  +static unsigned char *
          498  +read_var (unsigned char *start, unsigned char *stop, readosm_variant * variant)
          499  +{
          500  +/* 
          501  + / attempting to read a variable length base128 int 
          502  + /
          503  + / PBF integers are encoded as base128, i.e. using 7 bits
          504  + / for each byte: if the most significant bit is 1, then
          505  + / a further byte is required to get the int value, and so
          506  + / on, until a byte having a 0 most significant bit is found.
          507  + /
          508  + / using this encoding little values simply require few bytes:
          509  + / as a worst case 5 bytes are required to encode int32, and
          510  + / 10 bytes to encode int64
          511  + /
          512  + / there is a further complication: negative value will always 
          513  + / require 5 or 10 bytes: thus SINT32 and SINT64 values are
          514  + / encoded using a "ZigZag" schema.
          515  + /
          516  + / for more details please see:
          517  + / https://developers.google.com/protocol-buffers/docs/encoding
          518  +*/
          519  +    unsigned char *ptr = start;
          520  +    unsigned char c;
          521  +    unsigned int v32;
          522  +    unsigned long long v64;
          523  +    unsigned int value32 = 0x00000000;
          524  +    unsigned long long value64 = 0x0000000000000000;
          525  +    readosm_endian4 endian4;
          526  +    readosm_endian8 endian8;
          527  +    int next;
          528  +    int count = 0;
          529  +    int neg;
          530  +
          531  +    while (1)
          532  +      {
          533  +	  if (ptr > stop)
          534  +	      return NULL;
          535  +	  c = *ptr++;
          536  +	  if ((c & 0x80) == 0x80)
          537  +	      next = 1;
          538  +	  else
          539  +	      next = 0;
          540  +	  c &= 0x7f;
          541  +	  switch (variant->type)
          542  +	    {
          543  +	    case READOSM_VAR_INT32:
          544  +	    case READOSM_VAR_UINT32:
          545  +	    case READOSM_VAR_SINT32:
          546  +		switch (count)
          547  +		  {
          548  +		  case 0:
          549  +		      memset (endian4.bytes, 0x00, 4);
          550  +		      if (variant->little_endian_cpu)
          551  +			  endian4.bytes[0] = c;
          552  +		      else
          553  +			  endian4.bytes[3] = c;
          554  +		      v32 = endian4.uint32_value;
          555  +		      v32 &= READOSM_MASK32_1;
          556  +		      value32 |= v32;
          557  +		      break;
          558  +		  case 1:
          559  +		      memset (endian4.bytes, 0x00, 4);
          560  +		      if (variant->little_endian_cpu)
          561  +			  endian4.bytes[0] = c;
          562  +		      else
          563  +			  endian4.bytes[3] = c;
          564  +		      v32 = endian4.uint32_value << 7;
          565  +		      v32 &= READOSM_MASK32_2;
          566  +		      value32 |= v32;
          567  +		      break;
          568  +		  case 2:
          569  +		      memset (endian4.bytes, 0x00, 4);
          570  +		      if (variant->little_endian_cpu)
          571  +			  endian4.bytes[0] = c;
          572  +		      else
          573  +			  endian4.bytes[3] = c;
          574  +		      v32 = endian4.uint32_value << 14;
          575  +		      v32 &= READOSM_MASK32_3;
          576  +		      value32 |= v32;
          577  +		      break;
          578  +		  case 3:
          579  +		      memset (endian4.bytes, 0x00, 4);
          580  +		      if (variant->little_endian_cpu)
          581  +			  endian4.bytes[0] = c;
          582  +		      else
          583  +			  endian4.bytes[3] = c;
          584  +		      v32 = endian4.uint32_value << 21;
          585  +		      v32 &= READOSM_MASK32_4;
          586  +		      value32 |= v32;
          587  +		      break;
          588  +		  case 4:
          589  +		      memset (endian4.bytes, 0x00, 4);
          590  +		      if (variant->little_endian_cpu)
          591  +			  endian4.bytes[0] = c;
          592  +		      else
          593  +			  endian4.bytes[3] = c;
          594  +		      v32 = endian4.uint32_value << 28;
          595  +		      v32 &= READOSM_MASK32_5;
          596  +		      value32 |= v32;
          597  +		      break;
          598  +		  default:
          599  +		      return NULL;
          600  +		  };
          601  +		break;
          602  +	    case READOSM_VAR_INT64:
          603  +	    case READOSM_VAR_UINT64:
          604  +	    case READOSM_VAR_SINT64:
          605  +		switch (count)
          606  +		  {
          607  +		  case 0:
          608  +		      memset (endian8.bytes, 0x00, 8);
          609  +		      if (variant->little_endian_cpu)
          610  +			  endian8.bytes[0] = c;
          611  +		      else
          612  +			  endian8.bytes[7] = c;
          613  +		      v64 = endian8.uint64_value;
          614  +		      v64 &= READOSM_MASK64_1;
          615  +		      value64 |= v64;
          616  +		      break;
          617  +		  case 1:
          618  +		      memset (endian8.bytes, 0x00, 8);
          619  +		      if (variant->little_endian_cpu)
          620  +			  endian8.bytes[0] = c;
          621  +		      else
          622  +			  endian8.bytes[7] = c;
          623  +		      v64 = endian8.uint64_value << 7;
          624  +		      v64 &= READOSM_MASK64_2;
          625  +		      value64 |= v64;
          626  +		      break;
          627  +		  case 2:
          628  +		      memset (endian8.bytes, 0x00, 8);
          629  +		      if (variant->little_endian_cpu)
          630  +			  endian8.bytes[0] = c;
          631  +		      else
          632  +			  endian8.bytes[7] = c;
          633  +		      v64 = endian8.uint64_value << 14;
          634  +		      v64 &= READOSM_MASK64_3;
          635  +		      value64 |= v64;
          636  +		      break;
          637  +		  case 3:
          638  +		      memset (endian8.bytes, 0x00, 8);
          639  +		      if (variant->little_endian_cpu)
          640  +			  endian8.bytes[0] = c;
          641  +		      else
          642  +			  endian8.bytes[7] = c;
          643  +		      v64 = endian8.uint64_value << 21;
          644  +		      v64 &= READOSM_MASK64_4;
          645  +		      value64 |= v64;
          646  +		      break;
          647  +		  case 4:
          648  +		      memset (endian8.bytes, 0x00, 8);
          649  +		      if (variant->little_endian_cpu)
          650  +			  endian8.bytes[0] = c;
          651  +		      else
          652  +			  endian8.bytes[7] = c;
          653  +		      v64 = endian8.uint64_value << 28;
          654  +		      v64 &= READOSM_MASK64_5;
          655  +		      value64 |= v64;
          656  +		      break;
          657  +		  case 5:
          658  +		      memset (endian8.bytes, 0x00, 8);
          659  +		      if (variant->little_endian_cpu)
          660  +			  endian8.bytes[0] = c;
          661  +		      else
          662  +			  endian8.bytes[7] = c;
          663  +		      v64 = endian8.uint64_value << 35;
          664  +		      v64 &= READOSM_MASK64_6;
          665  +		      value64 |= v64;
          666  +		      break;
          667  +		  case 6:
          668  +		      memset (endian8.bytes, 0x00, 8);
          669  +		      if (variant->little_endian_cpu)
          670  +			  endian8.bytes[0] = c;
          671  +		      else
          672  +			  endian8.bytes[7] = c;
          673  +		      v64 = endian8.uint64_value << 42;
          674  +		      v64 &= READOSM_MASK64_7;
          675  +		      value64 |= v64;
          676  +		      break;
          677  +		  case 7:
          678  +		      memset (endian8.bytes, 0x00, 8);
          679  +		      if (variant->little_endian_cpu)
          680  +			  endian8.bytes[0] = c;
          681  +		      else
          682  +			  endian8.bytes[7] = c;
          683  +		      v64 = endian8.uint64_value << 49;
          684  +		      v64 &= READOSM_MASK64_8;
          685  +		      value64 |= v64;
          686  +		      break;
          687  +		  case 8:
          688  +		      memset (endian8.bytes, 0x00, 8);
          689  +		      if (variant->little_endian_cpu)
          690  +			  endian8.bytes[0] = c;
          691  +		      else
          692  +			  endian8.bytes[7] = c;
          693  +		      v64 = endian8.uint64_value << 56;
          694  +		      v64 &= READOSM_MASK64_9;
          695  +		      value64 |= v64;
          696  +		      break;
          697  +		  case 9:
          698  +		      memset (endian8.bytes, 0x00, 8);
          699  +		      if (variant->little_endian_cpu)
          700  +			  endian8.bytes[0] = c;
          701  +		      else
          702  +			  endian8.bytes[7] = c;
          703  +		      v64 = endian8.uint64_value << 63;
          704  +		      v64 &= READOSM_MASK64_A;
          705  +		      value64 |= v64;
          706  +		      break;
          707  +		  default:
          708  +		      return NULL;
          709  +		  };
          710  +		break;
          711  +	    };
          712  +	  count++;
          713  +	  if (!next)
          714  +	      break;
          715  +      }
          716  +
          717  +    switch (variant->type)
          718  +      {
          719  +      case READOSM_VAR_INT32:
          720  +	  variant->value.int32_value = (int) value32;
          721  +	  variant->valid = 1;
          722  +	  return ptr;
          723  +      case READOSM_VAR_UINT32:
          724  +	  variant->value.uint32_value = value32;
          725  +	  variant->valid = 1;
          726  +	  return ptr;
          727  +      case READOSM_VAR_SINT32:
          728  +	  if ((value32 & 0x00000001) == 0)
          729  +	      neg = 1;
          730  +	  else
          731  +	      neg = -1;
          732  +	  v32 = (value32 + 1) / 2;
          733  +	  variant->value.int32_value = v32 * neg;
          734  +	  variant->valid = 1;
          735  +	  return ptr;
          736  +      case READOSM_VAR_INT64:
          737  +	  variant->value.int64_value = (int) value64;
          738  +	  variant->valid = 1;
          739  +	  return ptr;
          740  +      case READOSM_VAR_UINT64:
          741  +	  variant->value.uint64_value = value64;
          742  +	  variant->valid = 1;
          743  +	  return ptr;
          744  +      case READOSM_VAR_SINT64:
          745  +	  if ((value64 & 0x0000000000000001) == 0)
          746  +	      neg = 1;
          747  +	  else
          748  +	      neg = -1;
          749  +	  v64 = (value64 + 1) / 2;
          750  +	  variant->value.int64_value = v64 * neg;
          751  +	  variant->valid = 1;
          752  +	  return ptr;
          753  +      };
          754  +    return NULL;
          755  +}
          756  +
          757  +static unsigned char *
          758  +read_bytes (unsigned char *start, unsigned char *stop,
          759  +	    readosm_variant * variant)
          760  +{
          761  +/* 
          762  + / attempting to read some bytes from PBF
          763  + / Strings and alike are encoded in PBF using a two steps approach:
          764  + / - an INT32 field declares the expected length
          765  + / - then the string (no terminating NULL char) follows
          766  +*/
          767  +    unsigned char *ptr = start;
          768  +    readosm_variant varlen;
          769  +    unsigned int len;
          770  +
          771  +/* initializing an empty variant field (length) */
          772  +    init_variant (&varlen, variant->little_endian_cpu);
          773  +    varlen.type = READOSM_VAR_UINT32;
          774  +
          775  +    ptr = read_var (ptr, stop, &varlen);
          776  +    if (varlen.valid)
          777  +      {
          778  +	  len = varlen.value.uint32_value;
          779  +	  if ((ptr + len - 1) > stop)
          780  +	      return NULL;
          781  +	  variant->pointer = ptr;
          782  +	  variant->length = len;
          783  +	  variant->valid = 1;
          784  +	  return ptr + len;
          785  +      }
          786  +    return NULL;
          787  +}
          788  +
          789  +static int
          790  +parse_uint32_packed (readosm_uint32_packed * packed, unsigned char *start,
          791  +		     unsigned char *stop, char little_endian_cpu)
          792  +{
          793  +/* parsing a uint32 packed object */
          794  +    unsigned char *ptr = start;
          795  +    readosm_variant variant;
          796  +
          797  +/* initializing an empty variant field (length) */
          798  +    init_variant (&variant, little_endian_cpu);
          799  +    variant.type = READOSM_VAR_UINT32;
          800  +
          801  +    while (1)
          802  +      {
          803  +	  ptr = read_var (start, stop, &variant);
          804  +	  if (variant.valid)
          805  +	    {
          806  +		append_uint32_packed (packed, variant.value.uint32_value);
          807  +		if (ptr > stop)
          808  +		    break;
          809  +		start = ptr;
          810  +		continue;
          811  +	    }
          812  +	  return 0;
          813  +      }
          814  +    return 1;
          815  +}
          816  +
          817  +static int
          818  +parse_sint32_packed (readosm_int32_packed * packed, unsigned char *start,
          819  +		     unsigned char *stop, char little_endian_cpu)
          820  +{
          821  +/* parsing an int32 packed object */
          822  +    unsigned char *ptr = start;
          823  +    readosm_variant variant;
          824  +
          825  +/* initializing an empty variant field (length) */
          826  +    init_variant (&variant, little_endian_cpu);
          827  +    variant.type = READOSM_VAR_SINT32;
          828  +
          829  +    while (1)
          830  +      {
          831  +	  ptr = read_var (start, stop, &variant);
          832  +	  if (variant.valid)
          833  +	    {
          834  +		append_int32_packed (packed, variant.value.int32_value);
          835  +		if (ptr > stop)
          836  +		    break;
          837  +		start = ptr;
          838  +		continue;
          839  +	    }
          840  +	  return 0;
          841  +      }
          842  +    return 1;
          843  +}
          844  +
          845  +static int
          846  +parse_sint64_packed (readosm_int64_packed * packed, unsigned char *start,
          847  +		     unsigned char *stop, char little_endian_cpu)
          848  +{
          849  +/* parsing a sint64 packed object */
          850  +    unsigned char *ptr = start;
          851  +    readosm_variant variant;
          852  +
          853  +/* initializing an empty variant field (length) */
          854  +    init_variant (&variant, little_endian_cpu);
          855  +    variant.type = READOSM_VAR_SINT64;
          856  +
          857  +    while (1)
          858  +      {
          859  +	  ptr = read_var (start, stop, &variant);
          860  +	  if (variant.valid)
          861  +	    {
          862  +		append_int64_packed (packed, variant.value.int64_value);
          863  +		if (ptr > stop)
          864  +		    break;
          865  +		start = ptr;
          866  +		continue;
          867  +	    }
          868  +	  return 0;
          869  +      }
          870  +    return 1;
          871  +}
          872  +
          873  +static unsigned int
          874  +get_header_size (unsigned char *buf, int little_endian_cpu)
          875  +{
          876  +/* 
          877  + / retrieving the current header size 
          878  + / please note: header sizes in PBF always are 4 bytes
          879  + / BIG endian encoded
          880  +*/
          881  +    readosm_endian4 endian4;
          882  +    if (little_endian_cpu)
          883  +      {
          884  +	  endian4.bytes[0] = *(buf + 3);
          885  +	  endian4.bytes[1] = *(buf + 2);
          886  +	  endian4.bytes[2] = *(buf + 1);
          887  +	  endian4.bytes[3] = *(buf + 0);
          888  +      }
          889  +    else
          890  +      {
          891  +	  endian4.bytes[0] = *(buf + 0);
          892  +	  endian4.bytes[1] = *(buf + 1);
          893  +	  endian4.bytes[2] = *(buf + 2);
          894  +	  endian4.bytes[3] = *(buf + 3);
          895  +      }
          896  +    return endian4.uint32_value;
          897  +}
          898  +
          899  +static unsigned char *
          900  +parse_field (unsigned char *start, unsigned char *stop,
          901  +	     readosm_variant * variant)
          902  +{
          903  +/* attempting to parse a variant field */
          904  +    unsigned char *ptr = start;
          905  +    unsigned char type;
          906  +    unsigned char field_id;
          907  +    unsigned char type_hint;
          908  +
          909  +    if (ptr > stop)
          910  +	return NULL;
          911  +
          912  +/*
          913  + / any PBF field is prefixed by a single byte
          914  + / a bitwise mask is used so to store both the
          915  + / field-id and the field-type on a single byte
          916  +*/
          917  +    type = *ptr & 0x07;
          918  +    field_id = (*ptr & 0xf8) >> 3;
          919  +
          920  +/* attempting to identify the field accordingly to declared hints */
          921  +    if (!find_type_hint (variant, field_id, type, &type_hint))
          922  +	return NULL;
          923  +
          924  +    variant->type = type_hint;
          925  +    variant->field_id = field_id;
          926  +    ptr++;
          927  +
          928  +/* parsing the field value */
          929  +    switch (variant->type)
          930  +      {
          931  +      case READOSM_VAR_INT32:
          932  +      case READOSM_VAR_INT64:
          933  +      case READOSM_VAR_UINT32:
          934  +      case READOSM_VAR_UINT64:
          935  +      case READOSM_VAR_SINT32:
          936  +      case READOSM_VAR_SINT64:
          937  +	  return read_var (ptr, stop, variant);
          938  +      case READOSM_LEN_BYTES:
          939  +	  return read_bytes (ptr, stop, variant);
          940  +      };
          941  +    return NULL;
          942  +}
          943  +
          944  +static int
          945  +skip_osm_header (readosm_file * input, unsigned int sz)
          946  +{
          947  +/*
          948  + / expecting to retrieve a valid OSMHeader header 
          949  + / there is nothing really interesting here, so we'll
          950  + / simply discard the whole block, simply advancing
          951  + / the read file-pointer as appropriate
          952  +*/
          953  +    int ok_header = 0;
          954  +    int hdsz = 0;
          955  +    size_t rd;
          956  +    unsigned char *buf = malloc (sz);
          957  +    unsigned char *base = buf;
          958  +    unsigned char *start = buf;
          959  +    unsigned char *stop = buf + sz - 1;
          960  +    readosm_variant variant;
          961  +    if (buf == NULL)
          962  +	goto error;
          963  +
          964  +/* initializing an empty variant field */
          965  +    init_variant (&variant, input->little_endian_cpu);
          966  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 1);
          967  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 2);
          968  +    add_variant_hints (&variant, READOSM_VAR_INT32, 3);
          969  +
          970  +    rd = fread (buf, 1, sz, input->in);
          971  +    if (rd != sz)
          972  +	goto error;
          973  +
          974  +/* reading the OSMHeader header */
          975  +    while (1)
          976  +      {
          977  +	  /* resetting an empty variant field */
          978  +	  reset_variant (&variant);
          979  +
          980  +	  base = parse_field (start, stop, &variant);
          981  +	  if (base == NULL && variant.valid == 0)
          982  +	      goto error;
          983  +	  start = base;
          984  +	  if (variant.field_id == 1 && variant.type == READOSM_LEN_BYTES
          985  +	      && variant.length == 9)
          986  +	    {
          987  +		if (memcmp (variant.pointer, "OSMHeader", 9) == 0)
          988  +		    ok_header = 1;
          989  +	    }
          990  +	  if (variant.field_id == 3 && variant.type == READOSM_VAR_INT32)
          991  +	      hdsz = variant.value.int32_value;
          992  +	  if (base > stop)
          993  +	      break;
          994  +      }
          995  +    free (buf);
          996  +    buf = NULL;
          997  +    if (!ok_header || !hdsz)
          998  +	goto error;
          999  +
         1000  +    buf = malloc (hdsz);
         1001  +    base = buf;
         1002  +    start = buf;
         1003  +    stop = buf + hdsz - 1;
         1004  +    rd = fread (buf, 1, hdsz, input->in);
         1005  +    if ((int) rd != hdsz)
         1006  +	goto error;
         1007  +
         1008  +    if (buf != NULL)
         1009  +	free (buf);
         1010  +    finalize_variant (&variant);
         1011  +    return 1;
         1012  +
         1013  +  error:
         1014  +    if (buf != NULL)
         1015  +	free (buf);
         1016  +    finalize_variant (&variant);
         1017  +    return 0;
         1018  +}
         1019  +
         1020  +static int
         1021  +unzip_compressed_block (unsigned char *zip_ptr, unsigned int zip_sz,
         1022  +			unsigned char *raw_ptr, unsigned int raw_sz)
         1023  +{
         1024  +/* 
         1025  + / decompressing a zip compressed block 
         1026  + / please note: PBF data blocks are internally stored as
         1027  + / ZIP compessed blocks
         1028  + /
         1029  + / both the compressed and uncompressed sizes are declared
         1030  + / for each PBF ZIPped block
         1031  +*/
         1032  +    uLongf size = raw_sz;
         1033  +    int ret = uncompress (raw_ptr, &size, zip_ptr, zip_sz);
         1034  +    if (ret != Z_OK || size != raw_sz)
         1035  +	return 0;
         1036  +    return 1;
         1037  +}
         1038  +
         1039  +static int
         1040  +parse_string_table (readosm_string_table * string_table,
         1041  +		    unsigned char *start, unsigned char *stop,
         1042  +		    char little_endian_cpu)
         1043  +{
         1044  +/* 
         1045  + / attempting to parse a StringTable 
         1046  + / 
         1047  + / Remark: each PBF compressed block includes a StringTable
         1048  + / i.e. a centralized table where any string value used within
         1049  + / the compressed block itself appears only one time.
         1050  + / This is obviously intended so to minimize storage requirements.
         1051  + /
         1052  + / Individual objects within the PBF file will never directly
         1053  + / encode string values; they'll use instead the corresponding
         1054  + / index referencing the appropriate string within the StringTable.
         1055  +*/
         1056  +    readosm_variant variant;
         1057  +    unsigned char *base = start;
         1058  +
         1059  +/* initializing an empty variant field */
         1060  +    init_variant (&variant, little_endian_cpu);
         1061  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 1);
         1062  +
         1063  +/* reading the StringTable */
         1064  +    while (1)
         1065  +      {
         1066  +	  /* resetting an empty variant field */
         1067  +	  reset_variant (&variant);
         1068  +
         1069  +	  base = parse_field (start, stop, &variant);
         1070  +	  if (base == NULL && variant.valid == 0)
         1071  +	      goto error;
         1072  +	  start = base;
         1073  +	  if (variant.field_id == 1 && variant.type == READOSM_LEN_BYTES)
         1074  +	      append_string_to_table (string_table, &variant);
         1075  +	  if (base > stop)
         1076  +	      break;
         1077  +      }
         1078  +
         1079  +    finalize_variant (&variant);
         1080  +    return 1;
         1081  +
         1082  +  error:
         1083  +    finalize_variant (&variant);
         1084  +    return 0;
         1085  +}
         1086  +
         1087  +static int
         1088  +parse_pbf_node_infos (readosm_packed_infos * packed_infos,
         1089  +		      unsigned char *start, unsigned char *stop,
         1090  +		      char little_endian_cpu)
         1091  +{
         1092  +/* 
         1093  + / attempting to parse a valid PBF DenseInfos
         1094  + /
         1095  + / Remark: PBF DenseNodes blocks require a DenseInfos block
         1096  + / this actually consists in six strings:
         1097  + / - versions
         1098  + / - timestamps
         1099  + / - changesets
         1100  + / - uids
         1101  + / - user-names (expressed as index to StringTable entries)
         1102  + /
         1103  + / each "string" in turn contains an array of INT values;
         1104  + / and individual values are usually encoded as DELTAs,
         1105  + / i.e. differences respect the immediately preceding value.
         1106  +*/
         1107  +    readosm_variant variant;
         1108  +    unsigned char *base = start;
         1109  +    readosm_uint32_packed packed_u32;
         1110  +    readosm_uint32 *pu32;
         1111  +    readosm_int32_packed packed_32;
         1112  +    readosm_int32 *p32;
         1113  +    readosm_int64_packed packed_64;
         1114  +    readosm_int64 *p64;
         1115  +    int count;
         1116  +
         1117  +/* initializing empty packed objects */
         1118  +    init_uint32_packed (&packed_u32);
         1119  +    init_int32_packed (&packed_32);
         1120  +    init_int64_packed (&packed_64);
         1121  +
         1122  +/* initializing an empty variant field */
         1123  +    init_variant (&variant, little_endian_cpu);
         1124  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 1);
         1125  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 2);
         1126  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 3);
         1127  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 4);
         1128  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 5);
         1129  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 6);
         1130  +
         1131  +/* reading the DenseInfo block */
         1132  +    while (1)
         1133  +      {
         1134  +	  /* resetting an empty variant field */
         1135  +	  reset_variant (&variant);
         1136  +
         1137  +	  base = parse_field (start, stop, &variant);
         1138  +	  if (base == NULL && variant.valid == 0)
         1139  +	      goto error;
         1140  +	  start = base;
         1141  +	  if (variant.field_id == 1 && variant.type == READOSM_LEN_BYTES)
         1142  +	    {
         1143  +		/* versions: *not* delta encoded */
         1144  +		if (!parse_uint32_packed
         1145  +		    (&packed_u32, variant.pointer,
         1146  +		     variant.pointer + variant.length - 1,
         1147  +		     variant.little_endian_cpu))
         1148  +		    goto error;
         1149  +		count = 0;
         1150  +		pu32 = packed_u32.first;
         1151  +		while (pu32)
         1152  +		  {
         1153  +		      count++;
         1154  +		      pu32 = pu32->next;
         1155  +		  }
         1156  +		packed_infos->ver_count = count;
         1157  +		if (packed_infos->versions != NULL)
         1158  +		  {
         1159  +		      free (packed_infos->versions);
         1160  +		      packed_infos->versions = NULL;
         1161  +		  }
         1162  +		if (count > 0)
         1163  +		  {
         1164  +		      packed_infos->versions = malloc (sizeof (int) * count);
         1165  +		      count = 0;
         1166  +		      pu32 = packed_u32.first;
         1167  +		      while (pu32)
         1168  +			{
         1169  +			    *(packed_infos->versions + count) = pu32->value;
         1170  +			    count++;
         1171  +			    pu32 = pu32->next;
         1172  +			}
         1173  +		  }
         1174  +		reset_uint32_packed (&packed_u32);
         1175  +	    }
         1176  +	  if (variant.field_id == 2 && variant.type == READOSM_LEN_BYTES)
         1177  +	    {
         1178  +		/* timestamps: delta encoded */
         1179  +		int delta = 0;
         1180  +		if (!parse_sint32_packed
         1181  +		    (&packed_32, variant.pointer,
         1182  +		     variant.pointer + variant.length - 1,
         1183  +		     variant.little_endian_cpu))
         1184  +		    goto error;
         1185  +		count = 0;
         1186  +		p32 = packed_32.first;
         1187  +		while (p32)
         1188  +		  {
         1189  +		      count++;
         1190  +		      p32 = p32->next;
         1191  +		  }
         1192  +		packed_infos->tim_count = count;
         1193  +		if (packed_infos->timestamps != NULL)
         1194  +		  {
         1195  +		      free (packed_infos->timestamps);
         1196  +		      packed_infos->timestamps = NULL;
         1197  +		  }
         1198  +		if (count > 0)
         1199  +		  {
         1200  +		      packed_infos->timestamps = malloc (sizeof (int) * count);
         1201  +		      count = 0;
         1202  +		      p32 = packed_32.first;
         1203  +		      while (p32)
         1204  +			{
         1205  +			    delta += p32->value;
         1206  +			    *(packed_infos->timestamps + count) = delta;
         1207  +			    count++;
         1208  +			    p32 = p32->next;
         1209  +			}
         1210  +		  }
         1211  +		reset_int32_packed (&packed_32);
         1212  +	    }
         1213  +	  if (variant.field_id == 3 && variant.type == READOSM_LEN_BYTES)
         1214  +	    {
         1215  +		/* changesets: delta encoded */
         1216  +		long long delta = 0;
         1217  +		if (!parse_sint64_packed
         1218  +		    (&packed_64, variant.pointer,
         1219  +		     variant.pointer + variant.length - 1,
         1220  +		     variant.little_endian_cpu))
         1221  +		    goto error;
         1222  +		count = 0;
         1223  +		p64 = packed_64.first;
         1224  +		while (p64)
         1225  +		  {
         1226  +		      count++;
         1227  +		      p64 = p64->next;
         1228  +		  }
         1229  +		packed_infos->cng_count = count;
         1230  +		if (packed_infos->changesets != NULL)
         1231  +		  {
         1232  +		      free (packed_infos->changesets);
         1233  +		      packed_infos->changesets = NULL;
         1234  +		  }
         1235  +		if (count > 0)
         1236  +		  {
         1237  +		      packed_infos->changesets =
         1238  +			  malloc (sizeof (long long) * count);
         1239  +		      count = 0;
         1240  +		      p64 = packed_64.first;
         1241  +		      while (p64)
         1242  +			{
         1243  +			    delta += p64->value;
         1244  +			    *(packed_infos->changesets + count) = delta;
         1245  +			    count++;
         1246  +			    p64 = p64->next;
         1247  +			}
         1248  +		  }
         1249  +		reset_int64_packed (&packed_64);
         1250  +	    }
         1251  +	  if (variant.field_id == 4 && variant.type == READOSM_LEN_BYTES)
         1252  +	    {
         1253  +		/* uids: delta encoded */
         1254  +		int delta = 0;
         1255  +		if (!parse_sint32_packed
         1256  +		    (&packed_32, variant.pointer,
         1257  +		     variant.pointer + variant.length - 1,
         1258  +		     variant.little_endian_cpu))
         1259  +		    goto error;
         1260  +		count = 0;
         1261  +		p32 = packed_32.first;
         1262  +		while (p32)
         1263  +		  {
         1264  +		      count++;
         1265  +		      p32 = p32->next;
         1266  +		  }
         1267  +		packed_infos->uid_count = count;
         1268  +		if (packed_infos->uids != NULL)
         1269  +		  {
         1270  +		      free (packed_infos->uids);
         1271  +		      packed_infos->uids = NULL;
         1272  +		  }
         1273  +		if (count > 0)
         1274  +		  {
         1275  +		      packed_infos->uids = malloc (sizeof (int) * count);
         1276  +		      count = 0;
         1277  +		      p32 = packed_32.first;
         1278  +		      while (p32)
         1279  +			{
         1280  +			    delta += p32->value;
         1281  +			    *(packed_infos->uids + count) = delta;
         1282  +			    count++;
         1283  +			    p32 = p32->next;
         1284  +			}
         1285  +		  }
         1286  +		reset_int32_packed (&packed_32);
         1287  +	    }
         1288  +	  if (variant.field_id == 5 && variant.type == READOSM_LEN_BYTES)
         1289  +	    {
         1290  +		/* user-names: delta encoded (index to StringTable) */
         1291  +		int delta = 0;
         1292  +		if (!parse_sint32_packed
         1293  +		    (&packed_32, variant.pointer,
         1294  +		     variant.pointer + variant.length - 1,
         1295  +		     variant.little_endian_cpu))
         1296  +		    goto error;
         1297  +		count = 0;
         1298  +		p32 = packed_32.first;
         1299  +		while (p32)
         1300  +		  {
         1301  +		      count++;
         1302  +		      p32 = p32->next;
         1303  +		  }
         1304  +		packed_infos->usr_count = count;
         1305  +		if (packed_infos->users != NULL)
         1306  +		  {
         1307  +		      free (packed_infos->users);
         1308  +		      packed_infos->users = NULL;
         1309  +		  }
         1310  +		if (count > 0)
         1311  +		  {
         1312  +		      packed_infos->users = malloc (sizeof (int) * count);
         1313  +		      count = 0;
         1314  +		      p32 = packed_32.first;
         1315  +		      while (p32)
         1316  +			{
         1317  +			    delta += p32->value;
         1318  +			    *(packed_infos->users + count) = delta;
         1319  +			    count++;
         1320  +			    p32 = p32->next;
         1321  +			}
         1322  +		  }
         1323  +		reset_int32_packed (&packed_32);
         1324  +	    }
         1325  +	  if (base > stop)
         1326  +	      break;
         1327  +      }
         1328  +    finalize_uint32_packed (&packed_u32);
         1329  +    finalize_int32_packed (&packed_32);
         1330  +    finalize_int64_packed (&packed_64);
         1331  +    finalize_variant (&variant);
         1332  +    return 1;
         1333  +
         1334  +  error:
         1335  +    finalize_variant (&variant);
         1336  +    finalize_uint32_packed (&packed_u32);
         1337  +    finalize_int32_packed (&packed_32);
         1338  +    finalize_int64_packed (&packed_64);
         1339  +    return 0;
         1340  +}
         1341  +
         1342  +static int
         1343  +parse_pbf_nodes (readosm_string_table * strings,
         1344  +		 unsigned char *start, unsigned char *stop,
         1345  +		 char little_endian_cpu, struct pbf_params *params)
         1346  +{
         1347  +/* 
         1348  + / attempting to parse a valid PBF DenseNodes 
         1349  + /
         1350  + / Remark: a PBF DenseNodes block consists in five strings:
         1351  + / - ids
         1352  + / - DenseInfos
         1353  + / - longitudes
         1354  + / - latitudes
         1355  + / - packed-keys (*)
         1356  + /
         1357  + / each "string" in turn contains an array of INT values;
         1358  + / and individual values are usually encoded as DELTAs,
         1359  + / i.e. differences respect the immediately preceding value.
         1360  + /
         1361  + / (*) packed keys actually are encoded as arrays of index
         1362  + / to StringTable entries.
         1363  + / alternatively we have a key-index and then a value-index;
         1364  + / any 0 value means that the current Node stops: next index
         1365  + / will be a key-index for the next Node item
         1366  +*/
         1367  +    readosm_variant variant;
         1368  +    unsigned char *base = start;
         1369  +    readosm_uint32_packed packed_keys;
         1370  +    readosm_int64_packed packed_ids;
         1371  +    readosm_int64_packed packed_lats;
         1372  +    readosm_int64_packed packed_lons;
         1373  +    readosm_packed_infos packed_infos;
         1374  +    readosm_internal_node *nodes = NULL;
         1375  +    int nd_count = 0;
         1376  +    int valid = 0;
         1377  +    int fromPackedInfos = 0;
         1378  +
         1379  +/* initializing empty packed objects */
         1380  +    init_uint32_packed (&packed_keys);
         1381  +    init_int64_packed (&packed_ids);
         1382  +    init_int64_packed (&packed_lats);
         1383  +    init_int64_packed (&packed_lons);
         1384  +    init_packed_infos (&packed_infos);
         1385  +
         1386  +/* initializing an empty variant field */
         1387  +    init_variant (&variant, little_endian_cpu);
         1388  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 1);
         1389  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 5);
         1390  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 8);
         1391  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 9);
         1392  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 10);
         1393  +
         1394  +/* reading the Node */
         1395  +    while (1)
         1396  +      {
         1397  +	  /* resetting an empty variant field */
         1398  +	  reset_variant (&variant);
         1399  +
         1400  +	  base = parse_field (start, stop, &variant);
         1401  +	  if (base == NULL && variant.valid == 0)
         1402  +	      goto error;
         1403  +	  start = base;
         1404  +	  if (variant.field_id == 1 && variant.type == READOSM_LEN_BYTES)
         1405  +	    {
         1406  +		/* NODE IDs */
         1407  +		if (!parse_sint64_packed
         1408  +		    (&packed_ids, variant.pointer,
         1409  +		     variant.pointer + variant.length - 1,
         1410  +		     variant.little_endian_cpu))
         1411  +		    goto error;
         1412  +		array_from_int64_packed (&packed_ids);
         1413  +	    }
         1414  +	  if (variant.field_id == 5 && variant.type == READOSM_LEN_BYTES)
         1415  +	    {
         1416  +		/* DenseInfos */
         1417  +		if (!parse_pbf_node_infos (&packed_infos,
         1418  +					   variant.pointer,
         1419  +					   variant.pointer + variant.length - 1,
         1420  +					   variant.little_endian_cpu))
         1421  +		    goto error;
         1422  +	    }
         1423  +	  if (variant.field_id == 8 && variant.type == READOSM_LEN_BYTES)
         1424  +	    {
         1425  +		/* latitudes */
         1426  +		if (!parse_sint64_packed
         1427  +		    (&packed_lats, variant.pointer,
         1428  +		     variant.pointer + variant.length - 1,
         1429  +		     variant.little_endian_cpu))
         1430  +		    goto error;
         1431  +		array_from_int64_packed (&packed_lats);
         1432  +	    }
         1433  +	  if (variant.field_id == 9 && variant.type == READOSM_LEN_BYTES)
         1434  +	    {
         1435  +		/* longitudes */
         1436  +		if (!parse_sint64_packed
         1437  +		    (&packed_lons, variant.pointer,
         1438  +		     variant.pointer + variant.length - 1,
         1439  +		     variant.little_endian_cpu))
         1440  +		    goto error;
         1441  +		array_from_int64_packed (&packed_lons);
         1442  +	    }
         1443  +	  if (variant.field_id == 10 && variant.type == READOSM_LEN_BYTES)
         1444  +	    {
         1445  +		/* packes-keys */
         1446  +		if (!parse_uint32_packed
         1447  +		    (&packed_keys, variant.pointer,
         1448  +		     variant.pointer + variant.length - 1,
         1449  +		     variant.little_endian_cpu))
         1450  +		    goto error;
         1451  +		array_from_uint32_packed (&packed_keys);
         1452  +	    }
         1453  +	  if (base > stop)
         1454  +	      break;
         1455  +      }
         1456  +    if (packed_ids.count == packed_lats.count
         1457  +	&& packed_ids.count == packed_lons.count)
         1458  +      {
         1459  +	  /* not using PackedInfos */
         1460  +	  valid = 1;
         1461  +      }
         1462  +    if (packed_ids.count == packed_lats.count
         1463  +	&& packed_ids.count == packed_lons.count
         1464  +	&& packed_ids.count == packed_infos.ver_count
         1465  +	&& packed_ids.count == packed_infos.tim_count
         1466  +	&& packed_ids.count == packed_infos.cng_count
         1467  +	&& packed_ids.count == packed_infos.uid_count
         1468  +	&& packed_ids.count == packed_infos.usr_count)
         1469  +      {
         1470  +	  /* from PackedInfos */
         1471  +	  valid = 1;
         1472  +	  fromPackedInfos = 1;
         1473  +      }
         1474  +    if (!valid)
         1475  +	goto error;
         1476  +    else
         1477  +      {
         1478  +	  /*
         1479  +	     / all right, we now have the same item count anywhere
         1480  +	     / we can now go further away attempting to reassemble
         1481  +	     / individual Nodes 
         1482  +	   */
         1483  +	  readosm_internal_node *nd;
         1484  +	  int i;
         1485  +	  int i_keys = 0;
         1486  +	  long long delta_id = 0;
         1487  +	  long long delta_lat = 0;
         1488  +	  long long delta_lon = 0;
         1489  +	  int max_nodes;
         1490  +	  int base = 0;
         1491  +	  nd_count = packed_ids.count;
         1492  +	  while (base < nd_count)
         1493  +	    {
         1494  +		/* processing about 1024 nodes at each time */
         1495  +		max_nodes = MAX_NODES;
         1496  +		if ((nd_count - base) < MAX_NODES)
         1497  +		    max_nodes = nd_count - base;
         1498  +		nodes = malloc (sizeof (readosm_internal_node) * max_nodes);
         1499  +		for (i = 0; i < max_nodes; i++)
         1500  +		  {
         1501  +		      /* initializing an array of empty internal Nodes */
         1502  +		      nd = nodes + i;
         1503  +		      init_internal_node (nd);
         1504  +		  }
         1505  +		for (i = 0; i < max_nodes; i++)
         1506  +		  {
         1507  +		      /* reassembling internal Nodes */
         1508  +		      const char *key = NULL;
         1509  +		      const char *value = NULL;
         1510  +		      time_t xtime;
         1511  +		      struct tm *times;
         1512  +		      int s_id;
         1513  +		      nd = nodes + i;
         1514  +		      delta_id += *(packed_ids.values + base + i);
         1515  +		      delta_lat += *(packed_lats.values + base + i);
         1516  +		      delta_lon += *(packed_lons.values + base + i);
         1517  +		      nd->id = delta_id;
         1518  +		      /* latitudes and longitudes require to be rescaled as DOUBLEs */
         1519  +		      nd->latitude = delta_lat / 10000000.0;
         1520  +		      nd->longitude = delta_lon / 10000000.0;
         1521  +		      if (fromPackedInfos)
         1522  +			{
         1523  +			    nd->version = *(packed_infos.versions + base + i);
         1524  +			    xtime = *(packed_infos.timestamps + base + i);
         1525  +			    times = gmtime (&xtime);
         1526  +			    if (times)
         1527  +			      {
         1528  +				  /* formatting Timestamps */
         1529  +				  char buf[64];
         1530  +				  int len;
         1531  +				  sprintf (buf,
         1532  +					   "%04d-%02d-%02dT%02d:%02d:%02dZ",
         1533  +					   times->tm_year + 1900,
         1534  +					   times->tm_mon + 1, times->tm_mday,
         1535  +					   times->tm_hour, times->tm_min,
         1536  +					   times->tm_sec);
         1537  +				  if (nd->timestamp)
         1538  +				      free (nd->timestamp);
         1539  +				  len = strlen (buf);
         1540  +				  nd->timestamp = malloc (len + 1);
         1541  +				  strcpy (nd->timestamp, buf);
         1542  +			      }
         1543  +			    nd->changeset =
         1544  +				*(packed_infos.changesets + base + i);
         1545  +			    if (*(packed_infos.uids + base + i) >= 0)
         1546  +				nd->uid = *(packed_infos.uids + base + i);
         1547  +			    s_id = *(packed_infos.users + base + i);
         1548  +			    if (s_id > 0)
         1549  +			      {
         1550  +				  /* retrieving user-names as strings (by index) */
         1551  +				  readosm_string *s_ptr =
         1552  +				      *(strings->strings + s_id);
         1553  +				  int len = strlen (s_ptr->string);
         1554  +				  if (nd->user != NULL)
         1555  +				      free (nd->user);
         1556  +				  if (len > 0)
         1557  +				    {
         1558  +					nd->user = malloc (len + 1);
         1559  +					strcpy (nd->user, s_ptr->string);
         1560  +				    }
         1561  +			      }
         1562  +			}
         1563  +		      for (; i_keys < packed_keys.count; i_keys++)
         1564  +			{
         1565  +			    /* decoding packed-keys */
         1566  +			    int is = *(packed_keys.values + i_keys);
         1567  +			    if (is == 0)
         1568  +			      {
         1569  +				  /* next Node */
         1570  +				  i_keys++;
         1571  +				  break;
         1572  +			      }
         1573  +			    if (key == NULL)
         1574  +			      {
         1575  +				  readosm_string *s_ptr =
         1576  +				      *(strings->strings + is);
         1577  +				  key = s_ptr->string;
         1578  +			      }
         1579  +			    else
         1580  +			      {
         1581  +				  readosm_string *s_ptr =
         1582  +				      *(strings->strings + is);
         1583  +				  value = s_ptr->string;
         1584  +				  append_tag_to_node (nd, key, value);
         1585  +				  key = NULL;
         1586  +				  value = NULL;
         1587  +			      }
         1588  +			}
         1589  +		  }
         1590  +		base += max_nodes;
         1591  +
         1592  +		/* processing each Node in the block */
         1593  +		if (params->node_callback != NULL && params->stop == 0)
         1594  +		  {
         1595  +		      int ret;
         1596  +		      readosm_internal_node *nd;
         1597  +		      int i;
         1598  +		      for (i = 0; i < max_nodes; i++)
         1599  +			{
         1600  +			    nd = nodes + i;
         1601  +			    ret =
         1602  +				call_node_callback (params->node_callback,
         1603  +						    params->user_data, nd);
         1604  +			    if (ret != READOSM_OK)
         1605  +			      {
         1606  +				  params->stop = 1;
         1607  +				  break;
         1608  +			      }
         1609  +			}
         1610  +		  }
         1611  +
         1612  +		/* memory cleanup: destroying Nodes */
         1613  +		if (nodes != NULL)
         1614  +		  {
         1615  +		      readosm_internal_node *nd;
         1616  +		      int i;
         1617  +		      for (i = 0; i < max_nodes; i++)
         1618  +			{
         1619  +			    nd = nodes + i;
         1620  +			    destroy_internal_node (nd);
         1621  +			}
         1622  +		      free (nodes);
         1623  +		  }
         1624  +	    }
         1625  +      }
         1626  +
         1627  +/* memory cleanup */
         1628  +    finalize_uint32_packed (&packed_keys);
         1629  +    finalize_int64_packed (&packed_ids);
         1630  +    finalize_int64_packed (&packed_lats);
         1631  +    finalize_int64_packed (&packed_lons);
         1632  +    finalize_packed_infos (&packed_infos);
         1633  +    finalize_variant (&variant);
         1634  +    return 1;
         1635  +
         1636  +  error:
         1637  +    finalize_uint32_packed (&packed_keys);
         1638  +    finalize_int64_packed (&packed_ids);
         1639  +    finalize_int64_packed (&packed_lats);
         1640  +    finalize_int64_packed (&packed_lons);
         1641  +    finalize_packed_infos (&packed_infos);
         1642  +    finalize_variant (&variant);
         1643  +    if (nodes != NULL)
         1644  +      {
         1645  +	  readosm_internal_node *nd;
         1646  +	  int i;
         1647  +	  for (i = 0; i < nd_count; i++)
         1648  +	    {
         1649  +		nd = nodes + i;
         1650  +		destroy_internal_node (nd);
         1651  +	    }
         1652  +	  free (nodes);
         1653  +      }
         1654  +    return 0;
         1655  +}
         1656  +
         1657  +static int
         1658  +parse_pbf_way_info (readosm_internal_way * way, readosm_string_table * strings,
         1659  +		    unsigned char *start, unsigned char *stop,
         1660  +		    char little_endian_cpu)
         1661  +{
         1662  +/* attempting to parse a valid PBF Way-Info */
         1663  +    readosm_variant variant;
         1664  +    unsigned char *base = start;
         1665  +
         1666  +/* initializing an empty variant field */
         1667  +    init_variant (&variant, little_endian_cpu);
         1668  +    add_variant_hints (&variant, READOSM_VAR_INT32, 1);
         1669  +    add_variant_hints (&variant, READOSM_VAR_INT32, 2);
         1670  +    add_variant_hints (&variant, READOSM_VAR_INT64, 3);
         1671  +    add_variant_hints (&variant, READOSM_VAR_INT32, 4);
         1672  +    add_variant_hints (&variant, READOSM_VAR_INT32, 5);
         1673  +    add_variant_hints (&variant, READOSM_VAR_INT32, 6);
         1674  +
         1675  +/* reading the WayInfo */
         1676  +    while (1)
         1677  +      {
         1678  +	  /* resetting an empty variant field */
         1679  +	  reset_variant (&variant);
         1680  +
         1681  +	  base = parse_field (start, stop, &variant);
         1682  +	  if (base == NULL && variant.valid == 0)
         1683  +	      goto error;
         1684  +	  start = base;
         1685  +	  if (variant.field_id == 1 && variant.type == READOSM_VAR_INT32)
         1686  +	    {
         1687  +		/* version */
         1688  +		way->version = variant.value.int32_value;
         1689  +	    }
         1690  +	  if (variant.field_id == 2 && variant.type == READOSM_VAR_INT32)
         1691  +	    {
         1692  +		/* timestamp */
         1693  +		const time_t xtime = variant.value.int32_value;
         1694  +		struct tm *times = gmtime (&xtime);
         1695  +		if (times)
         1696  +		  {
         1697  +		      char buf[64];
         1698  +		      int len;
         1699  +		      sprintf (buf, "%04d-%02d-%02dT%02d:%02d:%02dZ",
         1700  +			       times->tm_year + 1900, times->tm_mon + 1,
         1701  +			       times->tm_mday, times->tm_hour, times->tm_min,
         1702  +			       times->tm_sec);
         1703  +		      if (way->timestamp)
         1704  +			  free (way->timestamp);
         1705  +		      len = strlen (buf);
         1706  +		      way->timestamp = malloc (len + 1);
         1707  +		      strcpy (way->timestamp, buf);
         1708  +		  }
         1709  +	    }
         1710  +	  if (variant.field_id == 3 && variant.type == READOSM_VAR_INT64)
         1711  +	    {
         1712  +		/* changeset */
         1713  +		way->changeset = variant.value.int64_value;
         1714  +	    }
         1715  +	  if (variant.field_id == 4 && variant.type == READOSM_VAR_INT32)
         1716  +	    {
         1717  +		/* uid */
         1718  +		way->uid = variant.value.int32_value;
         1719  +	    }
         1720  +	  if (variant.field_id == 5 && variant.type == READOSM_VAR_INT32)
         1721  +	    {
         1722  +		/* user-name: index to StringTable entry */
         1723  +		int userid;
         1724  +		if (way->user)
         1725  +		    free (way->user);
         1726  +		way->user = NULL;
         1727  +		userid = variant.value.int32_value;
         1728  +		if (userid > 0 && userid < strings->count)
         1729  +		  {
         1730  +		      readosm_string *string = *(strings->strings + userid);
         1731  +		      int len = strlen (string->string);
         1732  +		      way->user = malloc (len + 1);
         1733  +		      strcpy (way->user, string->string);
         1734  +		  }
         1735  +	    }
         1736  +	  if (base > stop)
         1737  +	      break;
         1738  +      }
         1739  +    finalize_variant (&variant);
         1740  +    return 1;
         1741  +
         1742  +  error:
         1743  +    finalize_variant (&variant);
         1744  +    return 0;
         1745  +}
         1746  +
         1747  +static int
         1748  +parse_pbf_way (readosm_string_table * strings,
         1749  +	       unsigned char *start, unsigned char *stop,
         1750  +	       char little_endian_cpu, struct pbf_params *params)
         1751  +{
         1752  +/* attempting to parse a valid PBF Way */
         1753  +    readosm_variant variant;
         1754  +    unsigned char *base = start;
         1755  +    readosm_uint32_packed packed_keys;
         1756  +    readosm_uint32_packed packed_values;
         1757  +    readosm_int64_packed packed_refs;
         1758  +    readosm_internal_way *way = alloc_internal_way ();
         1759  +
         1760  +/* initializing empty packed objects */
         1761  +    init_uint32_packed (&packed_keys);
         1762  +    init_uint32_packed (&packed_values);
         1763  +    init_int64_packed (&packed_refs);
         1764  +
         1765  +/* initializing an empty variant field */
         1766  +    init_variant (&variant, little_endian_cpu);
         1767  +    add_variant_hints (&variant, READOSM_VAR_INT64, 1);
         1768  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 2);
         1769  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 3);
         1770  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 4);
         1771  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 8);
         1772  +
         1773  +/* reading the Way */
         1774  +    while (1)
         1775  +      {
         1776  +	  /* resetting an empty variant field */
         1777  +	  reset_variant (&variant);
         1778  +
         1779  +	  base = parse_field (start, stop, &variant);
         1780  +	  if (base == NULL && variant.valid == 0)
         1781  +	      goto error;
         1782  +	  start = base;
         1783  +	  if (variant.field_id == 1 && variant.type == READOSM_VAR_INT64)
         1784  +	    {
         1785  +		/* WAY ID */
         1786  +		way->id = variant.value.int64_value;
         1787  +	    }
         1788  +	  if (variant.field_id == 2 && variant.type == READOSM_LEN_BYTES)
         1789  +	    {
         1790  +		/* KEYs are encoded as an array of StringTable index */
         1791  +		if (!parse_uint32_packed
         1792  +		    (&packed_keys, variant.pointer,
         1793  +		     variant.pointer + variant.length - 1,
         1794  +		     variant.little_endian_cpu))
         1795  +		    goto error;
         1796  +		array_from_uint32_packed (&packed_keys);
         1797  +	    }
         1798  +	  if (variant.field_id == 3 && variant.type == READOSM_LEN_BYTES)
         1799  +	    {
         1800  +		/* VALUEs are encoded as an array of StringTable index  */
         1801  +		if (!parse_uint32_packed
         1802  +		    (&packed_values, variant.pointer,
         1803  +		     variant.pointer + variant.length - 1,
         1804  +		     variant.little_endian_cpu))
         1805  +		    goto error;
         1806  +		array_from_uint32_packed (&packed_values);
         1807  +	    }
         1808  +	  if (variant.field_id == 4 && variant.type == READOSM_LEN_BYTES)
         1809  +	    {
         1810  +		/* WAY-INFO block */
         1811  +		if (!parse_pbf_way_info
         1812  +		    (way, strings, variant.pointer,
         1813  +		     variant.pointer + variant.length - 1,
         1814  +		     variant.little_endian_cpu))
         1815  +		    goto error;
         1816  +	    }
         1817  +	  if (variant.field_id == 8 && variant.type == READOSM_LEN_BYTES)
         1818  +	    {
         1819  +		/* NODE-REFs */
         1820  +		long long delta = 0;
         1821  +		readosm_int64 *value;
         1822  +		/* KEYs are encoded as an array of StringTable index */
         1823  +		if (!parse_sint64_packed
         1824  +		    (&packed_refs, variant.pointer,
         1825  +		     variant.pointer + variant.length - 1,
         1826  +		     variant.little_endian_cpu))
         1827  +		    goto error;
         1828  +		value = packed_refs.first;
         1829  +		while (value != NULL)
         1830  +		  {
         1831  +		      /* appending Node references to Way */
         1832  +		      delta += value->value;
         1833  +		      append_reference_to_way (way, delta);
         1834  +		      value = value->next;
         1835  +		  }
         1836  +	    }
         1837  +	  if (base > stop)
         1838  +	      break;
         1839  +      }
         1840  +
         1841  +/* reassembling a WAY object */
         1842  +    if (packed_keys.count == packed_values.count)
         1843  +      {
         1844  +	  int i;
         1845  +	  for (i = 0; i < packed_keys.count; i++)
         1846  +	    {
         1847  +		int i_key = *(packed_keys.values + i);
         1848  +		int i_val = *(packed_values.values + i);
         1849  +		readosm_string *s_key = *(strings->strings + i_key);
         1850  +		readosm_string *s_value = *(strings->strings + i_val);
         1851  +		append_tag_to_way (way, s_key->string, s_value->string);
         1852  +	    }
         1853  +      }
         1854  +    else
         1855  +	goto error;
         1856  +
         1857  +    finalize_uint32_packed (&packed_keys);
         1858  +    finalize_uint32_packed (&packed_values);
         1859  +    finalize_int64_packed (&packed_refs);
         1860  +    finalize_variant (&variant);
         1861  +
         1862  +/* processing the WAY */
         1863  +    if (params->way_callback != NULL && params->stop == 0)
         1864  +      {
         1865  +	  int ret =
         1866  +	      call_way_callback (params->way_callback, params->user_data, way);
         1867  +	  if (ret != READOSM_OK)
         1868  +	      params->stop = 1;
         1869  +      }
         1870  +    destroy_internal_way (way);
         1871  +    return 1;
         1872  +
         1873  +  error:
         1874  +    finalize_uint32_packed (&packed_keys);
         1875  +    finalize_uint32_packed (&packed_values);
         1876  +    finalize_int64_packed (&packed_refs);
         1877  +    finalize_variant (&variant);
         1878  +    destroy_internal_way (way);
         1879  +    return 0;
         1880  +}
         1881  +
         1882  +static int
         1883  +parse_pbf_relation_info (readosm_internal_relation * relation,
         1884  +			 readosm_string_table * strings, unsigned char *start,
         1885  +			 unsigned char *stop, char little_endian_cpu)
         1886  +{
         1887  +/* attempting to parse a valid PBF RelationInfo */
         1888  +    readosm_variant variant;
         1889  +    unsigned char *base = start;
         1890  +
         1891  +/* initializing an empty variant field */
         1892  +    init_variant (&variant, little_endian_cpu);
         1893  +    add_variant_hints (&variant, READOSM_VAR_INT32, 1);
         1894  +    add_variant_hints (&variant, READOSM_VAR_INT32, 2);
         1895  +    add_variant_hints (&variant, READOSM_VAR_INT64, 3);
         1896  +    add_variant_hints (&variant, READOSM_VAR_INT32, 4);
         1897  +    add_variant_hints (&variant, READOSM_VAR_INT32, 5);
         1898  +    add_variant_hints (&variant, READOSM_VAR_INT32, 6);
         1899  +
         1900  +/* reading the RelationInfo */
         1901  +    while (1)
         1902  +      {
         1903  +	  /* resetting an empty variant field */
         1904  +	  reset_variant (&variant);
         1905  +
         1906  +	  base = parse_field (start, stop, &variant);
         1907  +	  if (base == NULL && variant.valid == 0)
         1908  +	      goto error;
         1909  +	  start = base;
         1910  +	  if (variant.field_id == 1 && variant.type == READOSM_VAR_INT32)
         1911  +	    {
         1912  +		/* version */
         1913  +		relation->version = variant.value.int32_value;
         1914  +	    }
         1915  +	  if (variant.field_id == 2 && variant.type == READOSM_VAR_INT32)
         1916  +	    {
         1917  +		/* timestamp */
         1918  +		const time_t xtime = variant.value.int32_value;
         1919  +		struct tm *times = gmtime (&xtime);
         1920  +		if (times)
         1921  +		  {
         1922  +		      char buf[64];
         1923  +		      int len;
         1924  +		      sprintf (buf, "%04d-%02d-%02dT%02d:%02d:%02dZ",
         1925  +			       times->tm_year + 1900, times->tm_mon + 1,
         1926  +			       times->tm_mday, times->tm_hour, times->tm_min,
         1927  +			       times->tm_sec);
         1928  +		      if (relation->timestamp)
         1929  +			  free (relation->timestamp);
         1930  +		      len = strlen (buf);
         1931  +		      relation->timestamp = malloc (len + 1);
         1932  +		      strcpy (relation->timestamp, buf);
         1933  +		  }
         1934  +	    }
         1935  +	  if (variant.field_id == 3 && variant.type == READOSM_VAR_INT64)
         1936  +	    {
         1937  +		/* changeset */
         1938  +		relation->changeset = variant.value.int64_value;
         1939  +	    }
         1940  +	  if (variant.field_id == 4 && variant.type == READOSM_VAR_INT32)
         1941  +	    {
         1942  +		/* uid */
         1943  +		relation->uid = variant.value.int32_value;
         1944  +	    }
         1945  +	  if (variant.field_id == 5 && variant.type == READOSM_VAR_INT32)
         1946  +	    {
         1947  +		/* user-name: index to StringTable entry */
         1948  +		int userid;
         1949  +		if (relation->user)
         1950  +		    free (relation->user);
         1951  +		relation->user = NULL;
         1952  +		userid = variant.value.int32_value;
         1953  +		if (userid > 0 && userid < strings->count)
         1954  +		  {
         1955  +		      readosm_string *string = *(strings->strings + userid);
         1956  +		      int len = strlen (string->string);
         1957  +		      relation->user = malloc (len + 1);
         1958  +		      strcpy (relation->user, string->string);
         1959  +		  }
         1960  +	    }
         1961  +	  if (base > stop)
         1962  +	      break;
         1963  +      }
         1964  +    finalize_variant (&variant);
         1965  +    return 1;
         1966  +
         1967  +  error:
         1968  +    finalize_variant (&variant);
         1969  +    return 0;
         1970  +}
         1971  +
         1972  +static int
         1973  +parse_pbf_relation (readosm_string_table * strings,
         1974  +		    unsigned char *start, unsigned char *stop,
         1975  +		    char little_endian_cpu, struct pbf_params *params)
         1976  +{
         1977  +/* attempting to parse a valid PBF Relation */
         1978  +    readosm_variant variant;
         1979  +    unsigned char *base = start;
         1980  +    readosm_uint32_packed packed_keys;
         1981  +    readosm_uint32_packed packed_values;
         1982  +    readosm_uint32_packed packed_roles;
         1983  +    readosm_uint32_packed packed_types;
         1984  +    readosm_int64_packed packed_refs;
         1985  +    readosm_internal_relation *relation = alloc_internal_relation ();
         1986  +
         1987  +/* initializing empty packed objects */
         1988  +    init_uint32_packed (&packed_keys);
         1989  +    init_uint32_packed (&packed_values);
         1990  +    init_uint32_packed (&packed_roles);
         1991  +    init_uint32_packed (&packed_types);
         1992  +    init_int64_packed (&packed_refs);
         1993  +
         1994  +/* initializing an empty variant field */
         1995  +    init_variant (&variant, little_endian_cpu);
         1996  +    add_variant_hints (&variant, READOSM_VAR_INT64, 1);
         1997  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 2);
         1998  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 3);
         1999  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 4);
         2000  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 8);
         2001  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 9);
         2002  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 10);
         2003  +
         2004  +/* reading the Relation */
         2005  +    while (1)
         2006  +      {
         2007  +	  /* resetting an empty variant field */
         2008  +	  reset_variant (&variant);
         2009  +
         2010  +	  base = parse_field (start, stop, &variant);
         2011  +	  if (base == NULL && variant.valid == 0)
         2012  +	      goto error;
         2013  +	  start = base;
         2014  +	  if (variant.field_id == 1 && variant.type == READOSM_VAR_INT64)
         2015  +	    {
         2016  +		/* RELATION ID */
         2017  +		relation->id = variant.value.int64_value;
         2018  +	    }
         2019  +	  if (variant.field_id == 2 && variant.type == READOSM_LEN_BYTES)
         2020  +	    {
         2021  +		/* KEYs are encoded as an array of StringTable index */
         2022  +		if (!parse_uint32_packed
         2023  +		    (&packed_keys, variant.pointer,
         2024  +		     variant.pointer + variant.length - 1,
         2025  +		     variant.little_endian_cpu))
         2026  +		    goto error;
         2027  +		array_from_uint32_packed (&packed_keys);
         2028  +	    }
         2029  +	  if (variant.field_id == 3 && variant.type == READOSM_LEN_BYTES)
         2030  +	    {
         2031  +		/* VALUEs are encoded as an array of StringTable index */
         2032  +		if (!parse_uint32_packed
         2033  +		    (&packed_values, variant.pointer,
         2034  +		     variant.pointer + variant.length - 1,
         2035  +		     variant.little_endian_cpu))
         2036  +		    goto error;
         2037  +		array_from_uint32_packed (&packed_values);
         2038  +	    }
         2039  +	  if (variant.field_id == 4 && variant.type == READOSM_LEN_BYTES)
         2040  +	    {
         2041  +		/* RELATION-INFO block */
         2042  +		if (!parse_pbf_relation_info
         2043  +		    (relation, strings, variant.pointer,
         2044  +		     variant.pointer + variant.length - 1,
         2045  +		     variant.little_endian_cpu))
         2046  +		    goto error;
         2047  +	    }
         2048  +	  if (variant.field_id == 8 && variant.type == READOSM_LEN_BYTES)
         2049  +	    {
         2050  +		/* MEMBER-ROLEs are encoded as an array of StringTable index */
         2051  +		if (!parse_uint32_packed
         2052  +		    (&packed_roles, variant.pointer,
         2053  +		     variant.pointer + variant.length - 1,
         2054  +		     variant.little_endian_cpu))
         2055  +		    goto error;
         2056  +		array_from_uint32_packed (&packed_roles);
         2057  +	    }
         2058  +	  if (variant.field_id == 9 && variant.type == READOSM_LEN_BYTES)
         2059  +	    {
         2060  +		/* MEMBER-REFs are encoded as an array */
         2061  +		if (!parse_sint64_packed
         2062  +		    (&packed_refs, variant.pointer,
         2063  +		     variant.pointer + variant.length - 1,
         2064  +		     variant.little_endian_cpu))
         2065  +		    goto error;
         2066  +		array_from_int64_packed (&packed_refs);
         2067  +	    }
         2068  +	  if (variant.field_id == 10 && variant.type == READOSM_LEN_BYTES)
         2069  +	    {
         2070  +		/* MEMBER-TYPEs are encoded as an array */
         2071  +		if (!parse_uint32_packed
         2072  +		    (&packed_types, variant.pointer,
         2073  +		     variant.pointer + variant.length - 1,
         2074  +		     variant.little_endian_cpu))
         2075  +		    goto error;
         2076  +		array_from_uint32_packed (&packed_types);
         2077  +	    }
         2078  +	  if (base > stop)
         2079  +	      break;
         2080  +      }
         2081  +
         2082  +/* reassembling a RELATION object */
         2083  +    if (packed_keys.count == packed_values.count)
         2084  +      {
         2085  +	  int i;
         2086  +	  for (i = 0; i < packed_keys.count; i++)
         2087  +	    {
         2088  +		int i_key = *(packed_keys.values + i);
         2089  +		int i_val = *(packed_values.values + i);
         2090  +		readosm_string *s_key = *(strings->strings + i_key);
         2091  +		readosm_string *s_value = *(strings->strings + i_val);
         2092  +		append_tag_to_relation (relation, s_key->string,
         2093  +					s_value->string);
         2094  +	    }
         2095  +      }
         2096  +    else
         2097  +	goto error;
         2098  +    if (packed_roles.count == packed_refs.count
         2099  +	&& packed_roles.count == packed_types.count)
         2100  +      {
         2101  +	  int i;
         2102  +	  long long delta = 0;
         2103  +	  for (i = 0; i < packed_roles.count; i++)
         2104  +	    {
         2105  +		int i_role = *(packed_roles.values + i);
         2106  +		readosm_string *s_role = *(strings->strings + i_role);
         2107  +		int type = *(packed_types.values + i);
         2108  +		delta += *(packed_refs.values + i);
         2109  +		append_member_to_relation (relation, type, delta,
         2110  +					   s_role->string);
         2111  +	    }
         2112  +      }
         2113  +    else
         2114  +	goto error;
         2115  +
         2116  +    finalize_uint32_packed (&packed_keys);
         2117  +    finalize_uint32_packed (&packed_values);
         2118  +    finalize_uint32_packed (&packed_roles);
         2119  +    finalize_uint32_packed (&packed_types);
         2120  +    finalize_int64_packed (&packed_refs);
         2121  +    finalize_variant (&variant);
         2122  +
         2123  +/* processing the RELATION */
         2124  +    if (params->relation_callback != NULL && params->stop == 0)
         2125  +      {
         2126  +	  int ret = call_relation_callback (params->relation_callback,
         2127  +					    params->user_data, relation);
         2128  +	  if (ret != READOSM_OK)
         2129  +	      params->stop = 1;
         2130  +      }
         2131  +    destroy_internal_relation (relation);
         2132  +    return 1;
         2133  +
         2134  +  error:
         2135  +    finalize_uint32_packed (&packed_keys);
         2136  +    finalize_uint32_packed (&packed_values);
         2137  +    finalize_uint32_packed (&packed_roles);
         2138  +    finalize_uint32_packed (&packed_types);
         2139  +    finalize_int64_packed (&packed_refs);
         2140  +    finalize_variant (&variant);
         2141  +    destroy_internal_relation (relation);
         2142  +    return 0;
         2143  +}
         2144  +
         2145  +static int
         2146  +parse_primitive_group (readosm_string_table * strings,
         2147  +		       unsigned char *start, unsigned char *stop,
         2148  +		       char little_endian_cpu, struct pbf_params *params)
         2149  +{
         2150  +/* 
         2151  + / attempting to parse a valid Primitive Group 
         2152  + /
         2153  + / each PBF PrimitiveGroup can store only one type:
         2154  + / - NODEs
         2155  + / - WAYs
         2156  + / - RELATIONs
         2157  +*/
         2158  +    readosm_variant variant;
         2159  +    unsigned char *base = start;
         2160  +
         2161  +/* initializing an empty variant field */
         2162  +    init_variant (&variant, little_endian_cpu);
         2163  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 1);
         2164  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 2);
         2165  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 3);
         2166  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 4);
         2167  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 5);
         2168  +
         2169  +/* reading the Primitive Group */
         2170  +    while (1)
         2171  +      {
         2172  +	  /* resetting an empty variant field */
         2173  +	  reset_variant (&variant);
         2174  +
         2175  +	  base = parse_field (start, stop, &variant);
         2176  +	  if (base == NULL && variant.valid == 0)
         2177  +	      goto error;
         2178  +	  start = base;
         2179  +	  if (variant.field_id == 2 && variant.type == READOSM_LEN_BYTES)
         2180  +	    {
         2181  +		/* DenseNodes */
         2182  +		if (params->node_callback == NULL)
         2183  +		    goto skip;	/* skipping: no node-callback */
         2184  +		if (!parse_pbf_nodes
         2185  +		    (strings, variant.pointer,
         2186  +		     variant.pointer + variant.length - 1,
         2187  +		     variant.little_endian_cpu, params))
         2188  +		    goto error;
         2189  +	    }
         2190  +	  if (variant.field_id == 3 && variant.type == READOSM_LEN_BYTES)
         2191  +	    {
         2192  +		/* Way */
         2193  +		if (params->way_callback == NULL)
         2194  +		    goto skip;	/* skipping: no way-callback */
         2195  +		if (!parse_pbf_way
         2196  +		    (strings, variant.pointer,
         2197  +		     variant.pointer + variant.length - 1,
         2198  +		     variant.little_endian_cpu, params))
         2199  +		    goto error;
         2200  +	    }
         2201  +	  if (variant.field_id == 4 && variant.type == READOSM_LEN_BYTES)
         2202  +	    {
         2203  +		/* Relation */
         2204  +		if (params->relation_callback == NULL)
         2205  +		    goto skip;	/* skipping: no relation-callback */
         2206  +		if (!parse_pbf_relation
         2207  +		    (strings, variant.pointer,
         2208  +		     variant.pointer + variant.length - 1,
         2209  +		     variant.little_endian_cpu, params))
         2210  +		    goto error;
         2211  +	    }
         2212  +	skip:
         2213  +	  if (base > stop)
         2214  +	      break;
         2215  +      }
         2216  +    finalize_variant (&variant);
         2217  +    return 1;
         2218  +
         2219  +  error:
         2220  +    finalize_variant (&variant);
         2221  +    return 0;
         2222  +}
         2223  +
         2224  +static int
         2225  +parse_osm_data (readosm_file * input, unsigned int sz,
         2226  +		struct pbf_params *params)
         2227  +{
         2228  +/* expecting to retrieve a valid OSMData header */
         2229  +    int ok_header = 0;
         2230  +    int hdsz = 0;
         2231  +    size_t rd;
         2232  +    unsigned char *buf = malloc (sz);
         2233  +    unsigned char *base = buf;
         2234  +    unsigned char *start = buf;
         2235  +    unsigned char *stop = buf + sz - 1;
         2236  +    unsigned char *zip_ptr = NULL;
         2237  +    int zip_sz = 0;
         2238  +    unsigned char *raw_ptr = NULL;
         2239  +    int raw_sz = 0;
         2240  +    readosm_variant variant;
         2241  +    readosm_string_table string_table;
         2242  +    if (buf == NULL)
         2243  +	goto error;
         2244  +
         2245  +/* initializing an empty string list */
         2246  +    init_string_table (&string_table);
         2247  +
         2248  +/* initializing an empty variant field */
         2249  +    init_variant (&variant, input->little_endian_cpu);
         2250  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 1);
         2251  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 2);
         2252  +    add_variant_hints (&variant, READOSM_VAR_INT32, 3);
         2253  +
         2254  +    rd = fread (buf, 1, sz, input->in);
         2255  +    if (rd != sz)
         2256  +	goto error;
         2257  +
         2258  +/* reading the OSMData header */
         2259  +    while (1)
         2260  +      {
         2261  +	  /* resetting an empty variant field */
         2262  +	  reset_variant (&variant);
         2263  +
         2264  +	  base = parse_field (start, stop, &variant);
         2265  +	  if (base == NULL && variant.valid == 0)
         2266  +	      goto error;
         2267  +	  start = base;
         2268  +	  if (variant.field_id == 1 && variant.type == READOSM_LEN_BYTES
         2269  +	      && variant.length == 7)
         2270  +	    {
         2271  +		if (memcmp (variant.pointer, "OSMData", 7) == 0)
         2272  +		    ok_header = 1;
         2273  +	    }
         2274  +	  if (variant.field_id == 3 && variant.type == READOSM_VAR_INT32)
         2275  +	      hdsz = variant.value.int32_value;
         2276  +	  if (base > stop)
         2277  +	      break;
         2278  +      }
         2279  +    free (buf);
         2280  +    buf = NULL;
         2281  +    if (!ok_header || !hdsz)
         2282  +	goto error;
         2283  +
         2284  +    buf = malloc (hdsz);
         2285  +    base = buf;
         2286  +    start = buf;
         2287  +    stop = buf + hdsz - 1;
         2288  +    rd = fread (buf, 1, hdsz, input->in);
         2289  +    if ((int) rd != hdsz)
         2290  +	goto error;
         2291  +
         2292  +/* uncompressing the OSMData zipped */
         2293  +    finalize_variant (&variant);
         2294  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 1);
         2295  +    add_variant_hints (&variant, READOSM_VAR_INT32, 2);
         2296  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 3);
         2297  +    while (1)
         2298  +      {
         2299  +	  /* resetting an empty variant field */
         2300  +	  reset_variant (&variant);
         2301  +
         2302  +	  base = parse_field (start, stop, &variant);
         2303  +	  if (base == NULL && variant.valid == 0)
         2304  +	      goto error;
         2305  +	  start = base;
         2306  +	  if (variant.field_id == 1 && variant.type == READOSM_LEN_BYTES)
         2307  +	    {
         2308  +		/* found an uncompressed block */
         2309  +		raw_sz = variant.length;
         2310  +		raw_ptr = malloc (raw_sz);
         2311  +		memcpy (raw_ptr, variant.pointer, raw_sz);
         2312  +	    }
         2313  +	  if (variant.field_id == 2 && variant.type == READOSM_VAR_INT32)
         2314  +	    {
         2315  +		/* expected size of unZipped block */
         2316  +		raw_sz = variant.value.int32_value;
         2317  +	    }
         2318  +	  if (variant.field_id == 3 && variant.type == READOSM_LEN_BYTES)
         2319  +	    {
         2320  +		/* found a ZIP-compressed block */
         2321  +		zip_ptr = variant.pointer;
         2322  +		zip_sz = variant.length;
         2323  +	    }
         2324  +	  if (base > stop)
         2325  +	      break;
         2326  +      }
         2327  +    if (zip_ptr != NULL && zip_sz != 0 && raw_sz != 0)
         2328  +      {
         2329  +	  /* unZipping a compressed block */
         2330  +	  raw_ptr = malloc (raw_sz);
         2331  +	  if (!unzip_compressed_block (zip_ptr, zip_sz, raw_ptr, raw_sz))
         2332  +	      goto error;
         2333  +      }
         2334  +    free (buf);
         2335  +    buf = NULL;
         2336  +    if (raw_ptr == NULL || raw_sz == 0)
         2337  +	goto error;
         2338  +
         2339  +/* parsing the PrimitiveBlock */
         2340  +    base = raw_ptr;
         2341  +    start = raw_ptr;
         2342  +    stop = raw_ptr + raw_sz - 1;
         2343  +    finalize_variant (&variant);
         2344  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 1);
         2345  +    add_variant_hints (&variant, READOSM_LEN_BYTES, 2);
         2346  +    add_variant_hints (&variant, READOSM_VAR_INT32, 17);
         2347  +    add_variant_hints (&variant, READOSM_VAR_INT32, 18);
         2348  +    add_variant_hints (&variant, READOSM_VAR_INT64, 19);
         2349  +    add_variant_hints (&variant, READOSM_VAR_INT64, 20);
         2350  +    while (1)
         2351  +      {
         2352  +	  /* resetting an empty variant field */
         2353  +	  reset_variant (&variant);
         2354  +
         2355  +	  base = parse_field (start, stop, &variant);
         2356  +	  if (base == NULL && variant.valid == 0)
         2357  +	      goto error;
         2358  +	  start = base;
         2359  +	  if (variant.field_id == 1 && variant.type == READOSM_LEN_BYTES)
         2360  +	    {
         2361  +		/* the StringTable */
         2362  +		if (!parse_string_table
         2363  +		    (&string_table, variant.pointer,
         2364  +		     variant.pointer + variant.length - 1,
         2365  +		     variant.little_endian_cpu))
         2366  +		    goto error;
         2367  +		array_from_string_table (&string_table);
         2368  +	    }
         2369  +	  if (variant.field_id == 2 && variant.type == READOSM_LEN_BYTES)
         2370  +	    {
         2371  +		/* the PrimitiveGroup to be parsed */
         2372  +		if (!parse_primitive_group
         2373  +		    (&string_table, variant.pointer,
         2374  +		     variant.pointer + variant.length - 1,
         2375  +		     variant.little_endian_cpu, params))
         2376  +		    goto error;
         2377  +	    }
         2378  +	  if (variant.field_id == 17 && variant.type == READOSM_VAR_INT32)
         2379  +	    {
         2380  +		/* assumed to be a termination marker (???) */
         2381  +		break;
         2382  +	    }
         2383  +	  if (base > stop)
         2384  +	      break;
         2385  +      }
         2386  +
         2387  +    if (buf != NULL)
         2388  +	free (buf);
         2389  +    if (raw_ptr != NULL)
         2390  +	free (raw_ptr);
         2391  +    finalize_variant (&variant);
         2392  +    finalize_string_table (&string_table);
         2393  +    return 1;
         2394  +
         2395  +  error:
         2396  +    if (buf != NULL)
         2397  +	free (buf);
         2398  +    if (raw_ptr != NULL)
         2399  +	free (raw_ptr);
         2400  +    finalize_variant (&variant);
         2401  +    finalize_string_table (&string_table);
         2402  +    return 0;
         2403  +}
         2404  +
         2405  +READOSM_PRIVATE int
         2406  +parse_osm_pbf (readosm_file * input, const void *user_data,
         2407  +	       readosm_node_callback node_fnct, readosm_way_callback way_fnct,
         2408  +	       readosm_relation_callback relation_fnct)
         2409  +{
         2410  +/* parsing the input file [OSM PBF format] */
         2411  +    size_t rd;
         2412  +    unsigned char buf[8];
         2413  +    unsigned int hdsz;
         2414  +    struct pbf_params params;
         2415  +
         2416  +/* initializing the PBF helper structure */
         2417  +    params.user_data = user_data;
         2418  +    params.node_callback = node_fnct;
         2419  +    params.way_callback = way_fnct;
         2420  +    params.relation_callback = relation_fnct;
         2421  +    params.stop = 0;
         2422  +
         2423  +/* reading BlobHeader size: OSMHeader */
         2424  +    rd = fread (buf, 1, 4, input->in);
         2425  +    if (rd != 4)
         2426  +	return READOSM_INVALID_PBF_HEADER;
         2427  +    hdsz = get_header_size (buf, input->little_endian_cpu);
         2428  +
         2429  +/* testing OSMHeader */
         2430  +    if (!skip_osm_header (input, hdsz))
         2431  +	return READOSM_INVALID_PBF_HEADER;
         2432  +
         2433  +/* 
         2434  + / the PBF file is internally organized as a collection
         2435  + / of many subsequent OSMData blocks 
         2436  +*/
         2437  +    while (1)
         2438  +      {
         2439  +	  /* reading BlobHeader size: OSMData */
         2440  +	  if (params.stop)
         2441  +	      return READOSM_ABORT;
         2442  +	  rd = fread (buf, 1, 4, input->in);
         2443  +	  if (rd == 0 && feof (input->in))
         2444  +	      break;
         2445  +	  if (rd != 4)
         2446  +	      return READOSM_INVALID_PBF_HEADER;
         2447  +	  hdsz = get_header_size (buf, input->little_endian_cpu);
         2448  +
         2449  +	  /* parsing OSMData */
         2450  +	  if (!parse_osm_data (input, hdsz, &params))
         2451  +	      return READOSM_INVALID_PBF_HEADER;
         2452  +      }
         2453  +    return READOSM_OK;
         2454  +}

Added src/readosm.c.

            1  +/* 
            2  +/ readosm.c
            3  +/
            4  +/ ReadOSM main implementation (externally visible API)
            5  +/
            6  +/ version  1.0, 2012 April 10
            7  +/
            8  +/ Author: Sandro Furieri a.furieri@lqt.it
            9  +/
           10  +/ ------------------------------------------------------------------------------
           11  +/ 
           12  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           13  +/ 
           14  +/ The contents of this file are subject to the Mozilla Public License Version
           15  +/ 1.1 (the "License"); you may not use this file except in compliance with
           16  +/ the License. You may obtain a copy of the License at
           17  +/ http://www.mozilla.org/MPL/
           18  +/ 
           19  +/ Software distributed under the License is distributed on an "AS IS" basis,
           20  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           21  +/ for the specific language governing rights and limitations under the
           22  +/ License.
           23  +/
           24  +/ The Original Code is the ReadOSM library
           25  +/
           26  +/ The Initial Developer of the Original Code is Alessandro Furieri
           27  +/ 
           28  +/ Portions created by the Initial Developer are Copyright (C) 2012
           29  +/ the Initial Developer. All Rights Reserved.
           30  +/ 
           31  +/ Contributor(s):
           32  +/ 
           33  +/ Alternatively, the contents of this file may be used under the terms of
           34  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           35  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           36  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           37  +/ of those above. If you wish to allow use of your version of this file only
           38  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           39  +/ use your version of this file under the terms of the MPL, indicate your
           40  +/ decision by deleting the provisions above and replace them with the notice
           41  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           42  +/ the provisions above, a recipient may use your version of this file under
           43  +/ the terms of any one of the MPL, the GPL or the LGPL.
           44  +/ 
           45  +*/
           46  +
           47  +#include <stdlib.h>
           48  +#include <stdio.h>
           49  +#include <string.h>
           50  +
           51  +#if defined(_WIN32) && !defined(__MINGW32__)
           52  +/* MSVC: avoiding to include at all config.h */
           53  +#else
           54  +#include "config.h"
           55  +#endif
           56  +
           57  +#include "readosm.h"
           58  +#include "readosm_internals.h"
           59  +
           60  +#ifdef _WIN32
           61  +#define strcasecmp	_stricmp
           62  +#endif /* not WIN32 */
           63  +
           64  +static int
           65  +test_endianness ()
           66  +{
           67  +/* checks the current CPU endianness */
           68  +    readosm_endian4 endian4;
           69  +    endian4.bytes[0] = 0x01;
           70  +    endian4.bytes[1] = 0x00;
           71  +    endian4.bytes[2] = 0x00;
           72  +    endian4.bytes[3] = 0x00;
           73  +    if (endian4.uint32_value == 1)
           74  +	return READOSM_LITTLE_ENDIAN;
           75  +    return READOSM_BIG_ENDIAN;
           76  +}
           77  +
           78  +static readosm_file *
           79  +alloc_osm_file (int little_endian_cpu, int format)
           80  +{
           81  +/* allocating and initializing the OSM input file struct */
           82  +    readosm_file *input = malloc (sizeof (readosm_file));
           83  +    if (!input)
           84  +	return NULL;
           85  +    input->magic1 = READOSM_MAGIC_START;
           86  +    input->file_format = format;
           87  +    input->little_endian_cpu = little_endian_cpu;
           88  +    input->magic2 = READOSM_MAGIC_END;
           89  +    input->in = NULL;
           90  +    return input;
           91  +}
           92  +
           93  +static void
           94  +destroy_osm_file (readosm_file * input)
           95  +{
           96  +/* destroying the OSM input file struct */
           97  +    if (input)
           98  +      {
           99  +	  if (input->in)
          100  +	      fclose (input->in);
          101  +	  free (input);
          102  +      }
          103  +}
          104  +
          105  +READOSM_DECLARE int
          106  +readosm_open (const char *path, const void **osm_handle)
          107  +{
          108  +/* opening and initializing the OSM input file */
          109  +    readosm_file *input;
          110  +    int len;
          111  +    int format;
          112  +    int little_endian_cpu = test_endianness ();
          113  +
          114  +    *osm_handle = NULL;
          115  +    if (path == NULL || osm_handle == NULL)
          116  +	return READOSM_NULL_HANDLE;
          117  +
          118  +    len = strlen (path);
          119  +    if (len > 4 && strcasecmp (path + len - 4, ".osm") == 0)
          120  +	format = READOSM_OSM_FORMAT;
          121  +    else if (len > 4 && strcasecmp (path + len - 4, ".pbf") == 0)
          122  +	format = READOSM_PBF_FORMAT;
          123  +    else
          124  +	return READOSM_INVALID_SUFFIX;
          125  +
          126  +/* allocating the OSM input file struct */
          127  +    input = alloc_osm_file (little_endian_cpu, format);
          128  +    if (!input)
          129  +	return READOSM_INSUFFICIENT_MEMORY;
          130  +    *osm_handle = input;
          131  +
          132  +    input->in = fopen (path, "rb");
          133  +    if (input->in == NULL)
          134  +	return READOSM_FILE_NOT_FOUND;
          135  +
          136  +    return READOSM_OK;
          137  +}
          138  +
          139  +READOSM_DECLARE int
          140  +readosm_close (const void *osm_handle)
          141  +{
          142  +/* attempting to destroy the OSM input file */
          143  +    readosm_file *input = (readosm_file *) osm_handle;
          144  +    if (!input)
          145  +	return READOSM_NULL_HANDLE;
          146  +    if ((input->magic1 == READOSM_MAGIC_START)
          147  +	&& input->magic2 == READOSM_MAGIC_END)
          148  +	;
          149  +    else
          150  +	return READOSM_INVALID_HANDLE;
          151  +
          152  +/* destroying the workbook */
          153  +    destroy_osm_file (input);
          154  +
          155  +    return READOSM_OK;
          156  +}
          157  +
          158  +READOSM_DECLARE int
          159  +readosm_parse (const void *osm_handle, const void *user_data,
          160  +	       readosm_node_callback node_fnct, readosm_way_callback way_fnct,
          161  +	       readosm_relation_callback relation_fnct)
          162  +{
          163  +/* attempting to parse the OSM input file */
          164  +    int ret;
          165  +    readosm_file *input = (readosm_file *) osm_handle;
          166  +    if (!input)
          167  +	return READOSM_NULL_HANDLE;
          168  +    if ((input->magic1 == READOSM_MAGIC_START)
          169  +	&& input->magic2 == READOSM_MAGIC_END)
          170  +	;
          171  +    else
          172  +	return READOSM_INVALID_HANDLE;
          173  +
          174  +    if (input->file_format == READOSM_OSM_FORMAT)
          175  +	ret =
          176  +	    parse_osm_xml (input, user_data, node_fnct, way_fnct,
          177  +			   relation_fnct);
          178  +    else if (input->file_format == READOSM_PBF_FORMAT)
          179  +	ret =
          180  +	    parse_osm_pbf (input, user_data, node_fnct, way_fnct,
          181  +			   relation_fnct);
          182  +    else
          183  +	return READOSM_INVALID_HANDLE;
          184  +
          185  +    return ret;
          186  +}

Added test-driver.

            1  +#! /bin/sh
            2  +# test-driver - basic testsuite driver script.
            3  +
            4  +scriptversion=2012-06-27.10; # UTC
            5  +
            6  +# Copyright (C) 2011-2013 Free Software Foundation, Inc.
            7  +#
            8  +# This program is free software; you can redistribute it and/or modify
            9  +# it under the terms of the GNU General Public License as published by
           10  +# the Free Software Foundation; either version 2, or (at your option)
           11  +# any later version.
           12  +#
           13  +# This program is distributed in the hope that it will be useful,
           14  +# but WITHOUT ANY WARRANTY; without even the implied warranty of
           15  +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
           16  +# GNU General Public License for more details.
           17  +#
           18  +# You should have received a copy of the GNU General Public License
           19  +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
           20  +
           21  +# As a special exception to the GNU General Public License, if you
           22  +# distribute this file as part of a program that contains a
           23  +# configuration script generated by Autoconf, you may include it under
           24  +# the same distribution terms that you use for the rest of that program.
           25  +
           26  +# This file is maintained in Automake, please report
           27  +# bugs to <bug-automake@gnu.org> or send patches to
           28  +# <automake-patches@gnu.org>.
           29  +
           30  +# Make unconditional expansion of undefined variables an error.  This
           31  +# helps a lot in preventing typo-related bugs.
           32  +set -u
           33  +
           34  +usage_error ()
           35  +{
           36  +  echo "$0: $*" >&2
           37  +  print_usage >&2
           38  +  exit 2
           39  +}
           40  +
           41  +print_usage ()
           42  +{
           43  +  cat <<END
           44  +Usage:
           45  +  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
           46  +              [--expect-failure={yes|no}] [--color-tests={yes|no}]
           47  +              [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
           48  +The '--test-name', '--log-file' and '--trs-file' options are mandatory.
           49  +END
           50  +}
           51  +
           52  +# TODO: better error handling in option parsing (in particular, ensure
           53  +# TODO: $log_file, $trs_file and $test_name are defined).
           54  +test_name= # Used for reporting.
           55  +log_file=  # Where to save the output of the test script.
           56  +trs_file=  # Where to save the metadata of the test run.
           57  +expect_failure=no
           58  +color_tests=no
           59  +enable_hard_errors=yes
           60  +while test $# -gt 0; do
           61  +  case $1 in
           62  +  --help) print_usage; exit $?;;
           63  +  --version) echo "test-driver $scriptversion"; exit $?;;
           64  +  --test-name) test_name=$2; shift;;
           65  +  --log-file) log_file=$2; shift;;
           66  +  --trs-file) trs_file=$2; shift;;
           67  +  --color-tests) color_tests=$2; shift;;
           68  +  --expect-failure) expect_failure=$2; shift;;
           69  +  --enable-hard-errors) enable_hard_errors=$2; shift;;
           70  +  --) shift; break;;
           71  +  -*) usage_error "invalid option: '$1'";;
           72  +  esac
           73  +  shift
           74  +done
           75  +
           76  +if test $color_tests = yes; then
           77  +  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
           78  +  red='' # Red.
           79  +  grn='' # Green.
           80  +  lgn='' # Light green.
           81  +  blu='' # Blue.
           82  +  mgn='' # Magenta.
           83  +  std=''     # No color.
           84  +else
           85  +  red= grn= lgn= blu= mgn= std=
           86  +fi
           87  +
           88  +do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
           89  +trap "st=129; $do_exit" 1
           90  +trap "st=130; $do_exit" 2
           91  +trap "st=141; $do_exit" 13
           92  +trap "st=143; $do_exit" 15
           93  +
           94  +# Test script is run here.
           95  +"$@" >$log_file 2>&1
           96  +estatus=$?
           97  +if test $enable_hard_errors = no && test $estatus -eq 99; then
           98  +  estatus=1
           99  +fi
          100  +
          101  +case $estatus:$expect_failure in
          102  +  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
          103  +  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
          104  +  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
          105  +  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
          106  +  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
          107  +  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
          108  +esac
          109  +
          110  +# Report outcome to console.
          111  +echo "${col}${res}${std}: $test_name"
          112  +
          113  +# Register the test result, and other relevant metadata.
          114  +echo ":test-result: $res" > $trs_file
          115  +echo ":global-test-result: $res" >> $trs_file
          116  +echo ":recheck: $recheck" >> $trs_file
          117  +echo ":copy-in-global-log: $gcopy" >> $trs_file
          118  +
          119  +# Local Variables:
          120  +# mode: shell-script
          121  +# sh-indentation: 2
          122  +# eval: (add-hook 'write-file-hooks 'time-stamp)
          123  +# time-stamp-start: "scriptversion="
          124  +# time-stamp-format: "%:y-%02m-%02d.%02H"
          125  +# time-stamp-time-zone: "UTC"
          126  +# time-stamp-end: "; # UTC"
          127  +# End:

Added tests/Makefile.am.

            1  +check_PROGRAMS = check_osm check_pbf check_err
            2  +
            3  +AM_CFLAGS = -I@srcdir@/../headers
            4  +AM_LDFLAGS = -L../src -lreadosm -lz $(GCOV_FLAGS)
            5  +
            6  +TESTS = $(check_PROGRAMS)
            7  +
            8  +MOSTLYCLEANFILES = *.gcna *.gcno *.gcda
            9  +
           10  +EXTRA_DIST = testdata/test.osm testdata/test.osm.pbf \
           11  +	testdata/noNodesPackedInfos.osm.pbf

Added tests/Makefile.in.

            1  +# Makefile.in generated by automake 1.14.1 from Makefile.am.
            2  +# @configure_input@
            3  +
            4  +# Copyright (C) 1994-2013 Free Software Foundation, Inc.
            5  +
            6  +# This Makefile.in is free software; the Free Software Foundation
            7  +# gives unlimited permission to copy and/or distribute it,
            8  +# with or without modifications, as long as this notice is preserved.
            9  +
           10  +# This program is distributed in the hope that it will be useful,
           11  +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
           12  +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
           13  +# PARTICULAR PURPOSE.
           14  +
           15  +@SET_MAKE@
           16  +VPATH = @srcdir@
           17  +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
           18  +am__make_running_with_option = \
           19  +  case $${target_option-} in \
           20  +      ?) ;; \
           21  +      *) echo "am__make_running_with_option: internal error: invalid" \
           22  +              "target option '$${target_option-}' specified" >&2; \
           23  +         exit 1;; \
           24  +  esac; \
           25  +  has_opt=no; \
           26  +  sane_makeflags=$$MAKEFLAGS; \
           27  +  if $(am__is_gnu_make); then \
           28  +    sane_makeflags=$$MFLAGS; \
           29  +  else \
           30  +    case $$MAKEFLAGS in \
           31  +      *\\[\ \	]*) \
           32  +        bs=\\; \
           33  +        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
           34  +          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
           35  +    esac; \
           36  +  fi; \
           37  +  skip_next=no; \
           38  +  strip_trailopt () \
           39  +  { \
           40  +    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
           41  +  }; \
           42  +  for flg in $$sane_makeflags; do \
           43  +    test $$skip_next = yes && { skip_next=no; continue; }; \
           44  +    case $$flg in \
           45  +      *=*|--*) continue;; \
           46  +        -*I) strip_trailopt 'I'; skip_next=yes;; \
           47  +      -*I?*) strip_trailopt 'I';; \
           48  +        -*O) strip_trailopt 'O'; skip_next=yes;; \
           49  +      -*O?*) strip_trailopt 'O';; \
           50  +        -*l) strip_trailopt 'l'; skip_next=yes;; \
           51  +      -*l?*) strip_trailopt 'l';; \
           52  +      -[dEDm]) skip_next=yes;; \
           53  +      -[JT]) skip_next=yes;; \
           54  +    esac; \
           55  +    case $$flg in \
           56  +      *$$target_option*) has_opt=yes; break;; \
           57  +    esac; \
           58  +  done; \
           59  +  test $$has_opt = yes
           60  +am__make_dryrun = (target_option=n; $(am__make_running_with_option))
           61  +am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
           62  +pkgdatadir = $(datadir)/@PACKAGE@
           63  +pkgincludedir = $(includedir)/@PACKAGE@
           64  +pkglibdir = $(libdir)/@PACKAGE@
           65  +pkglibexecdir = $(libexecdir)/@PACKAGE@
           66  +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
           67  +install_sh_DATA = $(install_sh) -c -m 644
           68  +install_sh_PROGRAM = $(install_sh) -c
           69  +install_sh_SCRIPT = $(install_sh) -c
           70  +INSTALL_HEADER = $(INSTALL_DATA)
           71  +transform = $(program_transform_name)
           72  +NORMAL_INSTALL = :
           73  +PRE_INSTALL = :
           74  +POST_INSTALL = :
           75  +NORMAL_UNINSTALL = :
           76  +PRE_UNINSTALL = :
           77  +POST_UNINSTALL = :
           78  +build_triplet = @build@
           79  +host_triplet = @host@
           80  +check_PROGRAMS = check_osm$(EXEEXT) check_pbf$(EXEEXT) \
           81  +	check_err$(EXEEXT)
           82  +subdir = tests
           83  +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
           84  +	$(top_srcdir)/depcomp $(top_srcdir)/test-driver
           85  +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
           86  +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
           87  +	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
           88  +	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
           89  +	$(top_srcdir)/configure.ac
           90  +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
           91  +	$(ACLOCAL_M4)
           92  +mkinstalldirs = $(install_sh) -d
           93  +CONFIG_HEADER = $(top_builddir)/config.h
           94  +CONFIG_CLEAN_FILES =
           95  +CONFIG_CLEAN_VPATH_FILES =
           96  +check_err_SOURCES = check_err.c
           97  +check_err_OBJECTS = check_err.$(OBJEXT)
           98  +check_err_LDADD = $(LDADD)
           99  +AM_V_lt = $(am__v_lt_@AM_V@)
          100  +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
          101  +am__v_lt_0 = --silent
          102  +am__v_lt_1 = 
          103  +check_osm_SOURCES = check_osm.c
          104  +check_osm_OBJECTS = check_osm.$(OBJEXT)
          105  +check_osm_LDADD = $(LDADD)
          106  +check_pbf_SOURCES = check_pbf.c
          107  +check_pbf_OBJECTS = check_pbf.$(OBJEXT)
          108  +check_pbf_LDADD = $(LDADD)
          109  +AM_V_P = $(am__v_P_@AM_V@)
          110  +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
          111  +am__v_P_0 = false
          112  +am__v_P_1 = :
          113  +AM_V_GEN = $(am__v_GEN_@AM_V@)
          114  +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
          115  +am__v_GEN_0 = @echo "  GEN     " $@;
          116  +am__v_GEN_1 = 
          117  +AM_V_at = $(am__v_at_@AM_V@)
          118  +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
          119  +am__v_at_0 = @
          120  +am__v_at_1 = 
          121  +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
          122  +depcomp = $(SHELL) $(top_srcdir)/depcomp
          123  +am__depfiles_maybe = depfiles
          124  +am__mv = mv -f
          125  +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
          126  +	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
          127  +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
          128  +	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
          129  +	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
          130  +	$(AM_CFLAGS) $(CFLAGS)
          131  +AM_V_CC = $(am__v_CC_@AM_V@)
          132  +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
          133  +am__v_CC_0 = @echo "  CC      " $@;
          134  +am__v_CC_1 = 
          135  +CCLD = $(CC)
          136  +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
          137  +	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
          138  +	$(AM_LDFLAGS) $(LDFLAGS) -o $@
          139  +AM_V_CCLD = $(am__v_CCLD_@AM_V@)
          140  +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
          141  +am__v_CCLD_0 = @echo "  CCLD    " $@;
          142  +am__v_CCLD_1 = 
          143  +SOURCES = check_err.c check_osm.c check_pbf.c
          144  +DIST_SOURCES = check_err.c check_osm.c check_pbf.c
          145  +am__can_run_installinfo = \
          146  +  case $$AM_UPDATE_INFO_DIR in \
          147  +    n|no|NO) false;; \
          148  +    *) (install-info --version) >/dev/null 2>&1;; \
          149  +  esac
          150  +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
          151  +# Read a list of newline-separated strings from the standard input,
          152  +# and print each of them once, without duplicates.  Input order is
          153  +# *not* preserved.
          154  +am__uniquify_input = $(AWK) '\
          155  +  BEGIN { nonempty = 0; } \
          156  +  { items[$$0] = 1; nonempty = 1; } \
          157  +  END { if (nonempty) { for (i in items) print i; }; } \
          158  +'
          159  +# Make sure the list of sources is unique.  This is necessary because,
          160  +# e.g., the same source file might be shared among _SOURCES variables
          161  +# for different programs/libraries.
          162  +am__define_uniq_tagged_files = \
          163  +  list='$(am__tagged_files)'; \
          164  +  unique=`for i in $$list; do \
          165  +    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          166  +  done | $(am__uniquify_input)`
          167  +ETAGS = etags
          168  +CTAGS = ctags
          169  +am__tty_colors_dummy = \
          170  +  mgn= red= grn= lgn= blu= brg= std=; \
          171  +  am__color_tests=no
          172  +am__tty_colors = { \
          173  +  $(am__tty_colors_dummy); \
          174  +  if test "X$(AM_COLOR_TESTS)" = Xno; then \
          175  +    am__color_tests=no; \
          176  +  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
          177  +    am__color_tests=yes; \
          178  +  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
          179  +    am__color_tests=yes; \
          180  +  fi; \
          181  +  if test $$am__color_tests = yes; then \
          182  +    red=''; \
          183  +    grn=''; \
          184  +    lgn=''; \
          185  +    blu=''; \
          186  +    mgn=''; \
          187  +    brg=''; \
          188  +    std=''; \
          189  +  fi; \
          190  +}
          191  +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
          192  +am__vpath_adj = case $$p in \
          193  +    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          194  +    *) f=$$p;; \
          195  +  esac;
          196  +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
          197  +am__install_max = 40
          198  +am__nobase_strip_setup = \
          199  +  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
          200  +am__nobase_strip = \
          201  +  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
          202  +am__nobase_list = $(am__nobase_strip_setup); \
          203  +  for p in $$list; do echo "$$p $$p"; done | \
          204  +  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
          205  +  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          206  +    if (++n[$$2] == $(am__install_max)) \
          207  +      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          208  +    END { for (dir in files) print dir, files[dir] }'
          209  +am__base_list = \
          210  +  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
          211  +  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
          212  +am__uninstall_files_from_dir = { \
          213  +  test -z "$$files" \
          214  +    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          215  +    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
          216  +         $(am__cd) "$$dir" && rm -f $$files; }; \
          217  +  }
          218  +am__recheck_rx = ^[ 	]*:recheck:[ 	]*
          219  +am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
          220  +am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
          221  +# A command that, given a newline-separated list of test names on the
          222  +# standard input, print the name of the tests that are to be re-run
          223  +# upon "make recheck".
          224  +am__list_recheck_tests = $(AWK) '{ \
          225  +  recheck = 1; \
          226  +  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
          227  +    { \
          228  +      if (rc < 0) \
          229  +        { \
          230  +          if ((getline line2 < ($$0 ".log")) < 0) \
          231  +	    recheck = 0; \
          232  +          break; \
          233  +        } \
          234  +      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
          235  +        { \
          236  +          recheck = 0; \
          237  +          break; \
          238  +        } \
          239  +      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
          240  +        { \
          241  +          break; \
          242  +        } \
          243  +    }; \
          244  +  if (recheck) \
          245  +    print $$0; \
          246  +  close ($$0 ".trs"); \
          247  +  close ($$0 ".log"); \
          248  +}'
          249  +# A command that, given a newline-separated list of test names on the
          250  +# standard input, create the global log from their .trs and .log files.
          251  +am__create_global_log = $(AWK) ' \
          252  +function fatal(msg) \
          253  +{ \
          254  +  print "fatal: making $@: " msg | "cat >&2"; \
          255  +  exit 1; \
          256  +} \
          257  +function rst_section(header) \
          258  +{ \
          259  +  print header; \
          260  +  len = length(header); \
          261  +  for (i = 1; i <= len; i = i + 1) \
          262  +    printf "="; \
          263  +  printf "\n\n"; \
          264  +} \
          265  +{ \
          266  +  copy_in_global_log = 1; \
          267  +  global_test_result = "RUN"; \
          268  +  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
          269  +    { \
          270  +      if (rc < 0) \
          271  +         fatal("failed to read from " $$0 ".trs"); \
          272  +      if (line ~ /$(am__global_test_result_rx)/) \
          273  +        { \
          274  +          sub("$(am__global_test_result_rx)", "", line); \
          275  +          sub("[ 	]*$$", "", line); \
          276  +          global_test_result = line; \
          277  +        } \
          278  +      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
          279  +        copy_in_global_log = 0; \
          280  +    }; \
          281  +  if (copy_in_global_log) \
          282  +    { \
          283  +      rst_section(global_test_result ": " $$0); \
          284  +      while ((rc = (getline line < ($$0 ".log"))) != 0) \
          285  +      { \
          286  +        if (rc < 0) \
          287  +          fatal("failed to read from " $$0 ".log"); \
          288  +        print line; \
          289  +      }; \
          290  +      printf "\n"; \
          291  +    }; \
          292  +  close ($$0 ".trs"); \
          293  +  close ($$0 ".log"); \
          294  +}'
          295  +# Restructured Text title.
          296  +am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
          297  +# Solaris 10 'make', and several other traditional 'make' implementations,
          298  +# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
          299  +# by disabling -e (using the XSI extension "set +e") if it's set.
          300  +am__sh_e_setup = case $$- in *e*) set +e;; esac
          301  +# Default flags passed to test drivers.
          302  +am__common_driver_flags = \
          303  +  --color-tests "$$am__color_tests" \
          304  +  --enable-hard-errors "$$am__enable_hard_errors" \
          305  +  --expect-failure "$$am__expect_failure"
          306  +# To be inserted before the command running the test.  Creates the
          307  +# directory for the log if needed.  Stores in $dir the directory
          308  +# containing $f, in $tst the test, in $log the log.  Executes the
          309  +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
          310  +# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
          311  +# will run the test scripts (or their associated LOG_COMPILER, if
          312  +# thy have one).
          313  +am__check_pre = \
          314  +$(am__sh_e_setup);					\
          315  +$(am__vpath_adj_setup) $(am__vpath_adj)			\
          316  +$(am__tty_colors);					\
          317  +srcdir=$(srcdir); export srcdir;			\
          318  +case "$@" in						\
          319  +  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
          320  +    *) am__odir=.;; 					\
          321  +esac;							\
          322  +test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
          323  +  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
          324  +if test -f "./$$f"; then dir=./;			\
          325  +elif test -f "$$f"; then dir=;				\
          326  +else dir="$(srcdir)/"; fi;				\
          327  +tst=$$dir$$f; log='$@'; 				\
          328  +if test -n '$(DISABLE_HARD_ERRORS)'; then		\
          329  +  am__enable_hard_errors=no; 				\
          330  +else							\
          331  +  am__enable_hard_errors=yes; 				\
          332  +fi; 							\
          333  +case " $(XFAIL_TESTS) " in				\
          334  +  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
          335  +    am__expect_failure=yes;;				\
          336  +  *)							\
          337  +    am__expect_failure=no;;				\
          338  +esac; 							\
          339  +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
          340  +# A shell command to get the names of the tests scripts with any registered
          341  +# extension removed (i.e., equivalently, the names of the test logs, with
          342  +# the '.log' extension removed).  The result is saved in the shell variable
          343  +# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
          344  +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
          345  +# since that might cause problem with VPATH rewrites for suffix-less tests.
          346  +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
          347  +am__set_TESTS_bases = \
          348  +  bases='$(TEST_LOGS)'; \
          349  +  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
          350  +  bases=`echo $$bases`
          351  +RECHECK_LOGS = $(TEST_LOGS)
          352  +AM_RECURSIVE_TARGETS = check recheck
          353  +TEST_SUITE_LOG = test-suite.log
          354  +TEST_EXTENSIONS = @EXEEXT@ .test
          355  +LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
          356  +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
          357  +am__set_b = \
          358  +  case '$@' in \
          359  +    */*) \
          360  +      case '$*' in \
          361  +        */*) b='$*';; \
          362  +          *) b=`echo '$@' | sed 's/\.log$$//'`; \
          363  +       esac;; \
          364  +    *) \
          365  +      b='$*';; \
          366  +  esac
          367  +am__test_logs1 = $(TESTS:=.log)
          368  +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
          369  +TEST_LOGS = $(am__test_logs2:.test.log=.log)
          370  +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
          371  +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
          372  +	$(TEST_LOG_FLAGS)
          373  +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
          374  +ACLOCAL = @ACLOCAL@
          375  +AMTAR = @AMTAR@
          376  +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
          377  +AR = @AR@
          378  +AS = @AS@
          379  +AUTOCONF = @AUTOCONF@
          380  +AUTOHEADER = @AUTOHEADER@
          381  +AUTOMAKE = @AUTOMAKE@
          382  +AWK = @AWK@
          383  +CC = @CC@
          384  +CCDEPMODE = @CCDEPMODE@
          385  +CFLAGS = @CFLAGS@
          386  +CPP = @CPP@
          387  +CPPFLAGS = @CPPFLAGS@
          388  +CXX = @CXX@
          389  +CXXCPP = @CXXCPP@
          390  +CXXDEPMODE = @CXXDEPMODE@
          391  +CXXFLAGS = @CXXFLAGS@
          392  +CYGPATH_W = @CYGPATH_W@
          393  +DEFS = @DEFS@
          394  +DEPDIR = @DEPDIR@
          395  +DLLTOOL = @DLLTOOL@
          396  +DSYMUTIL = @DSYMUTIL@
          397  +DUMPBIN = @DUMPBIN@
          398  +ECHO_C = @ECHO_C@
          399  +ECHO_N = @ECHO_N@
          400  +ECHO_T = @ECHO_T@
          401  +EGREP = @EGREP@
          402  +EXEEXT = @EXEEXT@
          403  +FGREP = @FGREP@
          404  +GREP = @GREP@
          405  +INSTALL = @INSTALL@
          406  +INSTALL_DATA = @INSTALL_DATA@
          407  +INSTALL_PROGRAM = @INSTALL_PROGRAM@
          408  +INSTALL_SCRIPT = @INSTALL_SCRIPT@
          409  +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
          410  +LD = @LD@
          411  +LDFLAGS = @LDFLAGS@
          412  +LIBOBJS = @LIBOBJS@
          413  +LIBS = @LIBS@
          414  +LIBTOOL = @LIBTOOL@
          415  +LIPO = @LIPO@
          416  +LN_S = @LN_S@
          417  +LTLIBOBJS = @LTLIBOBJS@
          418  +MAINT = @MAINT@
          419  +MAKEINFO = @MAKEINFO@
          420  +MANIFEST_TOOL = @MANIFEST_TOOL@
          421  +MKDIR_P = @MKDIR_P@
          422  +NM = @NM@
          423  +NMEDIT = @NMEDIT@
          424  +OBJDUMP = @OBJDUMP@
          425  +OBJEXT = @OBJEXT@
          426  +OTOOL = @OTOOL@
          427  +OTOOL64 = @OTOOL64@
          428  +PACKAGE = @PACKAGE@
          429  +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
          430  +PACKAGE_NAME = @PACKAGE_NAME@
          431  +PACKAGE_STRING = @PACKAGE_STRING@
          432  +PACKAGE_TARNAME = @PACKAGE_TARNAME@
          433  +PACKAGE_URL = @PACKAGE_URL@
          434  +PACKAGE_VERSION = @PACKAGE_VERSION@
          435  +PATH_SEPARATOR = @PATH_SEPARATOR@
          436  +RANLIB = @RANLIB@
          437  +SED = @SED@
          438  +SET_MAKE = @SET_MAKE@
          439  +SHELL = @SHELL@
          440  +STRIP = @STRIP@
          441  +VERSION = @VERSION@
          442  +abs_builddir = @abs_builddir@
          443  +abs_srcdir = @abs_srcdir@
          444  +abs_top_builddir = @abs_top_builddir@
          445  +abs_top_srcdir = @abs_top_srcdir@
          446  +ac_ct_AR = @ac_ct_AR@
          447  +ac_ct_CC = @ac_ct_CC@
          448  +ac_ct_CXX = @ac_ct_CXX@
          449  +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
          450  +am__include = @am__include@
          451  +am__leading_dot = @am__leading_dot@
          452  +am__quote = @am__quote@
          453  +am__tar = @am__tar@
          454  +am__untar = @am__untar@
          455  +bindir = @bindir@
          456  +build = @build@
          457  +build_alias = @build_alias@
          458  +build_cpu = @build_cpu@
          459  +build_os = @build_os@
          460  +build_vendor = @build_vendor@
          461  +builddir = @builddir@
          462  +datadir = @datadir@
          463  +datarootdir = @datarootdir@
          464  +docdir = @docdir@
          465  +dvidir = @dvidir@
          466  +exec_prefix = @exec_prefix@
          467  +host = @host@
          468  +host_alias = @host_alias@
          469  +host_cpu = @host_cpu@
          470  +host_os = @host_os@
          471  +host_vendor = @host_vendor@
          472  +htmldir = @htmldir@
          473  +includedir = @includedir@
          474  +infodir = @infodir@
          475  +install_sh = @install_sh@
          476  +libdir = @libdir@
          477  +libexecdir = @libexecdir@
          478  +localedir = @localedir@
          479  +localstatedir = @localstatedir@
          480  +mandir = @mandir@
          481  +mkdir_p = @mkdir_p@
          482  +oldincludedir = @oldincludedir@
          483  +pdfdir = @pdfdir@
          484  +prefix = @prefix@
          485  +program_transform_name = @program_transform_name@
          486  +psdir = @psdir@
          487  +sbindir = @sbindir@
          488  +sharedstatedir = @sharedstatedir@
          489  +srcdir = @srcdir@
          490  +sysconfdir = @sysconfdir@
          491  +target_alias = @target_alias@
          492  +top_build_prefix = @top_build_prefix@
          493  +top_builddir = @top_builddir@
          494  +top_srcdir = @top_srcdir@
          495  +AM_CFLAGS = -I@srcdir@/../headers
          496  +AM_LDFLAGS = -L../src -lreadosm -lz $(GCOV_FLAGS)
          497  +TESTS = $(check_PROGRAMS)
          498  +MOSTLYCLEANFILES = *.gcna *.gcno *.gcda
          499  +EXTRA_DIST = testdata/test.osm testdata/test.osm.pbf \
          500  +	testdata/noNodesPackedInfos.osm.pbf
          501  +
          502  +all: all-am
          503  +
          504  +.SUFFIXES:
          505  +.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
          506  +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
          507  +	@for dep in $?; do \
          508  +	  case '$(am__configure_deps)' in \
          509  +	    *$$dep*) \
          510  +	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
          511  +	        && { if test -f $@; then exit 0; else break; fi; }; \
          512  +	      exit 1;; \
          513  +	  esac; \
          514  +	done; \
          515  +	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
          516  +	$(am__cd) $(top_srcdir) && \
          517  +	  $(AUTOMAKE) --gnu tests/Makefile
          518  +.PRECIOUS: Makefile
          519  +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
          520  +	@case '$?' in \
          521  +	  *config.status*) \
          522  +	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          523  +	  *) \
          524  +	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
          525  +	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
          526  +	esac;
          527  +
          528  +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
          529  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          530  +
          531  +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
          532  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          533  +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
          534  +	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
          535  +$(am__aclocal_m4_deps):
          536  +
          537  +clean-checkPROGRAMS:
          538  +	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
          539  +	echo " rm -f" $$list; \
          540  +	rm -f $$list || exit $$?; \
          541  +	test -n "$(EXEEXT)" || exit 0; \
          542  +	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
          543  +	echo " rm -f" $$list; \
          544  +	rm -f $$list
          545  +
          546  +check_err$(EXEEXT): $(check_err_OBJECTS) $(check_err_DEPENDENCIES) $(EXTRA_check_err_DEPENDENCIES) 
          547  +	@rm -f check_err$(EXEEXT)
          548  +	$(AM_V_CCLD)$(LINK) $(check_err_OBJECTS) $(check_err_LDADD) $(LIBS)
          549  +
          550  +check_osm$(EXEEXT): $(check_osm_OBJECTS) $(check_osm_DEPENDENCIES) $(EXTRA_check_osm_DEPENDENCIES) 
          551  +	@rm -f check_osm$(EXEEXT)
          552  +	$(AM_V_CCLD)$(LINK) $(check_osm_OBJECTS) $(check_osm_LDADD) $(LIBS)
          553  +
          554  +check_pbf$(EXEEXT): $(check_pbf_OBJECTS) $(check_pbf_DEPENDENCIES) $(EXTRA_check_pbf_DEPENDENCIES) 
          555  +	@rm -f check_pbf$(EXEEXT)
          556  +	$(AM_V_CCLD)$(LINK) $(check_pbf_OBJECTS) $(check_pbf_LDADD) $(LIBS)
          557  +
          558  +mostlyclean-compile:
          559  +	-rm -f *.$(OBJEXT)
          560  +
          561  +distclean-compile:
          562  +	-rm -f *.tab.c
          563  +
          564  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_err.Po@am__quote@
          565  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_osm.Po@am__quote@
          566  +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_pbf.Po@am__quote@
          567  +
          568  +.c.o:
          569  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
          570  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
          571  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
          572  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          573  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
          574  +
          575  +.c.obj:
          576  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
          577  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
          578  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
          579  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          580  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
          581  +
          582  +.c.lo:
          583  +@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
          584  +@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
          585  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
          586  +@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
          587  +@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
          588  +
          589  +mostlyclean-libtool:
          590  +	-rm -f *.lo
          591  +
          592  +clean-libtool:
          593  +	-rm -rf .libs _libs
          594  +
          595  +ID: $(am__tagged_files)
          596  +	$(am__define_uniq_tagged_files); mkid -fID $$unique
          597  +tags: tags-am
          598  +TAGS: tags
          599  +
          600  +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          601  +	set x; \
          602  +	here=`pwd`; \
          603  +	$(am__define_uniq_tagged_files); \
          604  +	shift; \
          605  +	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          606  +	  test -n "$$unique" || unique=$$empty_fix; \
          607  +	  if test $$# -gt 0; then \
          608  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          609  +	      "$$@" $$unique; \
          610  +	  else \
          611  +	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
          612  +	      $$unique; \
          613  +	  fi; \
          614  +	fi
          615  +ctags: ctags-am
          616  +
          617  +CTAGS: ctags
          618  +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
          619  +	$(am__define_uniq_tagged_files); \
          620  +	test -z "$(CTAGS_ARGS)$$unique" \
          621  +	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
          622  +	     $$unique
          623  +
          624  +GTAGS:
          625  +	here=`$(am__cd) $(top_builddir) && pwd` \
          626  +	  && $(am__cd) $(top_srcdir) \
          627  +	  && gtags -i $(GTAGS_ARGS) "$$here"
          628  +cscopelist: cscopelist-am
          629  +
          630  +cscopelist-am: $(am__tagged_files)
          631  +	list='$(am__tagged_files)'; \
          632  +	case "$(srcdir)" in \
          633  +	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          634  +	  *) sdir=$(subdir)/$(srcdir) ;; \
          635  +	esac; \
          636  +	for i in $$list; do \
          637  +	  if test -f "$$i"; then \
          638  +	    echo "$(subdir)/$$i"; \
          639  +	  else \
          640  +	    echo "$$sdir/$$i"; \
          641  +	  fi; \
          642  +	done >> $(top_builddir)/cscope.files
          643  +
          644  +distclean-tags:
          645  +	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
          646  +
          647  +# Recover from deleted '.trs' file; this should ensure that
          648  +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
          649  +# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
          650  +# to avoid problems with "make -n".
          651  +.log.trs:
          652  +	rm -f $< $@
          653  +	$(MAKE) $(AM_MAKEFLAGS) $<
          654  +
          655  +# Leading 'am--fnord' is there to ensure the list of targets does not
          656  +# expand to empty, as could happen e.g. with make check TESTS=''.
          657  +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
          658  +am--force-recheck:
          659  +	@:
          660  +
          661  +$(TEST_SUITE_LOG): $(TEST_LOGS)
          662  +	@$(am__set_TESTS_bases); \
          663  +	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
          664  +	redo_bases=`for i in $$bases; do \
          665  +	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
          666  +	            done`; \
          667  +	if test -n "$$redo_bases"; then \
          668  +	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
          669  +	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
          670  +	  if $(am__make_dryrun); then :; else \
          671  +	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
          672  +	  fi; \
          673  +	fi; \
          674  +	if test -n "$$am__remaking_logs"; then \
          675  +	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
          676  +	       "recursion detected" >&2; \
          677  +	else \
          678  +	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
          679  +	fi; \
          680  +	if $(am__make_dryrun); then :; else \
          681  +	  st=0;  \
          682  +	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
          683  +	  for i in $$redo_bases; do \
          684  +	    test -f $$i.trs && test -r $$i.trs \
          685  +	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
          686  +	    test -f $$i.log && test -r $$i.log \
          687  +	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
          688  +	  done; \
          689  +	  test $$st -eq 0 || exit 1; \
          690  +	fi
          691  +	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
          692  +	ws='[ 	]'; \
          693  +	results=`for b in $$bases; do echo $$b.trs; done`; \
          694  +	test -n "$$results" || results=/dev/null; \
          695  +	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
          696  +	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
          697  +	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
          698  +	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
          699  +	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
          700  +	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
          701  +	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
          702  +	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
          703  +	  success=true; \
          704  +	else \
          705  +	  success=false; \
          706  +	fi; \
          707  +	br='==================='; br=$$br$$br$$br$$br; \
          708  +	result_count () \
          709  +	{ \
          710  +	    if test x"$$1" = x"--maybe-color"; then \
          711  +	      maybe_colorize=yes; \
          712  +	    elif test x"$$1" = x"--no-color"; then \
          713  +	      maybe_colorize=no; \
          714  +	    else \
          715  +	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
          716  +	    fi; \
          717  +	    shift; \
          718  +	    desc=$$1 count=$$2; \
          719  +	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
          720  +	      color_start=$$3 color_end=$$std; \
          721  +	    else \
          722  +	      color_start= color_end=; \
          723  +	    fi; \
          724  +	    echo "$${color_start}# $$desc $$count$${color_end}"; \
          725  +	}; \
          726  +	create_testsuite_report () \
          727  +	{ \
          728  +	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
          729  +	  result_count $$1 "PASS: " $$pass  "$$grn"; \
          730  +	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
          731  +	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
          732  +	  result_count $$1 "FAIL: " $$fail  "$$red"; \
          733  +	  result_count $$1 "XPASS:" $$xpass "$$red"; \
          734  +	  result_count $$1 "ERROR:" $$error "$$mgn"; \
          735  +	}; \
          736  +	{								\
          737  +	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
          738  +	    $(am__rst_title);						\
          739  +	  create_testsuite_report --no-color;				\
          740  +	  echo;								\
          741  +	  echo ".. contents:: :depth: 2";				\
          742  +	  echo;								\
          743  +	  for b in $$bases; do echo $$b; done				\
          744  +	    | $(am__create_global_log);					\
          745  +	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
          746  +	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
          747  +	if $$success; then						\
          748  +	  col="$$grn";							\
          749  +	 else								\
          750  +	  col="$$red";							\
          751  +	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
          752  +	fi;								\
          753  +	echo "$${col}$$br$${std}"; 					\
          754  +	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
          755  +	echo "$${col}$$br$${std}"; 					\
          756  +	create_testsuite_report --maybe-color;				\
          757  +	echo "$$col$$br$$std";						\
          758  +	if $$success; then :; else					\
          759  +	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
          760  +	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
          761  +	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
          762  +	  fi;								\
          763  +	  echo "$$col$$br$$std";					\
          764  +	fi;								\
          765  +	$$success || exit 1
          766  +
          767  +check-TESTS:
          768  +	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
          769  +	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
          770  +	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
          771  +	@set +e; $(am__set_TESTS_bases); \
          772  +	log_list=`for i in $$bases; do echo $$i.log; done`; \
          773  +	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
          774  +	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
          775  +	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
          776  +	exit $$?;
          777  +recheck: all $(check_PROGRAMS)
          778  +	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
          779  +	@set +e; $(am__set_TESTS_bases); \
          780  +	bases=`for i in $$bases; do echo $$i; done \
          781  +	         | $(am__list_recheck_tests)` || exit 1; \
          782  +	log_list=`for i in $$bases; do echo $$i.log; done`; \
          783  +	log_list=`echo $$log_list`; \
          784  +	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
          785  +	        am__force_recheck=am--force-recheck \
          786  +	        TEST_LOGS="$$log_list"; \
          787  +	exit $$?
          788  +check_osm.log: check_osm$(EXEEXT)
          789  +	@p='check_osm$(EXEEXT)'; \
          790  +	b='check_osm'; \
          791  +	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
          792  +	--log-file $$b.log --trs-file $$b.trs \
          793  +	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
          794  +	"$$tst" $(AM_TESTS_FD_REDIRECT)
          795  +check_pbf.log: check_pbf$(EXEEXT)
          796  +	@p='check_pbf$(EXEEXT)'; \
          797  +	b='check_pbf'; \
          798  +	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
          799  +	--log-file $$b.log --trs-file $$b.trs \
          800  +	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
          801  +	"$$tst" $(AM_TESTS_FD_REDIRECT)
          802  +check_err.log: check_err$(EXEEXT)
          803  +	@p='check_err$(EXEEXT)'; \
          804  +	b='check_err'; \
          805  +	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
          806  +	--log-file $$b.log --trs-file $$b.trs \
          807  +	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
          808  +	"$$tst" $(AM_TESTS_FD_REDIRECT)
          809  +.test.log:
          810  +	@p='$<'; \
          811  +	$(am__set_b); \
          812  +	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
          813  +	--log-file $$b.log --trs-file $$b.trs \
          814  +	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
          815  +	"$$tst" $(AM_TESTS_FD_REDIRECT)
          816  +@am__EXEEXT_TRUE@.test$(EXEEXT).log:
          817  +@am__EXEEXT_TRUE@	@p='$<'; \
          818  +@am__EXEEXT_TRUE@	$(am__set_b); \
          819  +@am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
          820  +@am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
          821  +@am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
          822  +@am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
          823  +
          824  +distdir: $(DISTFILES)
          825  +	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          826  +	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
          827  +	list='$(DISTFILES)'; \
          828  +	  dist_files=`for file in $$list; do echo $$file; done | \
          829  +	  sed -e "s|^$$srcdirstrip/||;t" \
          830  +	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
          831  +	case $$dist_files in \
          832  +	  */*) $(MKDIR_P) `echo "$$dist_files" | \
          833  +			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
          834  +			   sort -u` ;; \
          835  +	esac; \
          836  +	for file in $$dist_files; do \
          837  +	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          838  +	  if test -d $$d/$$file; then \
          839  +	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
          840  +	    if test -d "$(distdir)/$$file"; then \
          841  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          842  +	    fi; \
          843  +	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
          844  +	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
          845  +	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
          846  +	    fi; \
          847  +	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
          848  +	  else \
          849  +	    test -f "$(distdir)/$$file" \
          850  +	    || cp -p $$d/$$file "$(distdir)/$$file" \
          851  +	    || exit 1; \
          852  +	  fi; \
          853  +	done
          854  +check-am: all-am
          855  +	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
          856  +	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
          857  +check: check-am
          858  +all-am: Makefile
          859  +installdirs:
          860  +install: install-am
          861  +install-exec: install-exec-am
          862  +install-data: install-data-am
          863  +uninstall: uninstall-am
          864  +
          865  +install-am: all-am
          866  +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
          867  +
          868  +installcheck: installcheck-am
          869  +install-strip:
          870  +	if test -z '$(STRIP)'; then \
          871  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          872  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          873  +	      install; \
          874  +	else \
          875  +	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          876  +	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
          877  +	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
          878  +	fi
          879  +mostlyclean-generic:
          880  +	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
          881  +	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
          882  +	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
          883  +	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
          884  +
          885  +clean-generic:
          886  +
          887  +distclean-generic:
          888  +	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
          889  +	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
          890  +
          891  +maintainer-clean-generic:
          892  +	@echo "This command is intended for maintainers to use"
          893  +	@echo "it deletes files that may require special tools to rebuild."
          894  +clean: clean-am
          895  +
          896  +clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
          897  +	mostlyclean-am
          898  +
          899  +distclean: distclean-am
          900  +	-rm -rf ./$(DEPDIR)
          901  +	-rm -f Makefile
          902  +distclean-am: clean-am distclean-compile distclean-generic \
          903  +	distclean-tags
          904  +
          905  +dvi: dvi-am
          906  +
          907  +dvi-am:
          908  +
          909  +html: html-am
          910  +
          911  +html-am:
          912  +
          913  +info: info-am
          914  +
          915  +info-am:
          916  +
          917  +install-data-am:
          918  +
          919  +install-dvi: install-dvi-am
          920  +
          921  +install-dvi-am:
          922  +
          923  +install-exec-am:
          924  +
          925  +install-html: install-html-am
          926  +
          927  +install-html-am:
          928  +
          929  +install-info: install-info-am
          930  +
          931  +install-info-am:
          932  +
          933  +install-man:
          934  +
          935  +install-pdf: install-pdf-am
          936  +
          937  +install-pdf-am:
          938  +
          939  +install-ps: install-ps-am
          940  +
          941  +install-ps-am:
          942  +
          943  +installcheck-am:
          944  +
          945  +maintainer-clean: maintainer-clean-am
          946  +	-rm -rf ./$(DEPDIR)
          947  +	-rm -f Makefile
          948  +maintainer-clean-am: distclean-am maintainer-clean-generic
          949  +
          950  +mostlyclean: mostlyclean-am
          951  +
          952  +mostlyclean-am: mostlyclean-compile mostlyclean-generic \
          953  +	mostlyclean-libtool
          954  +
          955  +pdf: pdf-am
          956  +
          957  +pdf-am:
          958  +
          959  +ps: ps-am
          960  +
          961  +ps-am:
          962  +
          963  +uninstall-am:
          964  +
          965  +.MAKE: check-am install-am install-strip
          966  +
          967  +.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
          968  +	clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
          969  +	ctags ctags-am distclean distclean-compile distclean-generic \
          970  +	distclean-libtool distclean-tags distdir dvi dvi-am html \
          971  +	html-am info info-am install install-am install-data \
          972  +	install-data-am install-dvi install-dvi-am install-exec \
          973  +	install-exec-am install-html install-html-am install-info \
          974  +	install-info-am install-man install-pdf install-pdf-am \
          975  +	install-ps install-ps-am install-strip installcheck \
          976  +	installcheck-am installdirs maintainer-clean \
          977  +	maintainer-clean-generic mostlyclean mostlyclean-compile \
          978  +	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
          979  +	recheck tags tags-am uninstall uninstall-am
          980  +
          981  +
          982  +# Tell versions [3.59,3.63) of GNU make to not export all variables.
          983  +# Otherwise a system limit (for SysV at least) may be exceeded.
          984  +.NOEXPORT:

Added tests/check_err.c.

            1  +/* 
            2  +/ check_err.c
            3  +/
            4  +/ Test cases for BAD file
            5  +/
            6  +/ Author: Sandro Furieri a.furieri@lqt.it
            7  +/
            8  +/ ------------------------------------------------------------------------------
            9  +/ 
           10  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           11  +/ 
           12  +/ The contents of this file are subject to the Mozilla Public License Version
           13  +/ 1.1 (the "License"); you may not use this file except in compliance with
           14  +/ the License. You may obtain a copy of the License at
           15  +/ http://www.mozilla.org/MPL/
           16  +/ 
           17  +/ Software distributed under the License is distributed on an "AS IS" basis,
           18  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           19  +/ for the specific language governing rights and limitations under the
           20  +/ License.
           21  +/
           22  +/ The Original Code is the ReadOSM library
           23  +/
           24  +/ The Initial Developer of the Original Code is Alessandro Furieri
           25  +/ 
           26  +/ Portions created by the Initial Developer are Copyright (C) 2012
           27  +/ the Initial Developer. All Rights Reserved.
           28  +/ 
           29  +/ Contributor(s):
           30  +/
           31  +/ Alternatively, the contents of this file may be used under the terms of
           32  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           33  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           34  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           35  +/ of those above. If you wish to allow use of your version of this file only
           36  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           37  +/ use your version of this file under the terms of the MPL, indicate your
           38  +/ decision by deleting the provisions above and replace them with the notice
           39  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           40  +/ the provisions above, a recipient may use your version of this file under
           41  +/ the terms of any one of the MPL, the GPL or the LGPL.
           42  +/ 
           43  +*/
           44  +
           45  +#include <stdio.h>
           46  +#include <memory.h>
           47  +
           48  +#include "readosm.h"
           49  +
           50  +struct osm_count
           51  +{
           52  +    int nodes;
           53  +    int nd_tags;
           54  +    int ways;
           55  +    int way_nds;
           56  +    int way_tags;
           57  +    int relations;
           58  +    int rel_members;
           59  +    int rel_tags;
           60  +};
           61  +
           62  +static int
           63  +zero_count (struct osm_count *cnt)
           64  +{
           65  +/* resetting the osm_count struct */
           66  +    cnt->nodes = 0;
           67  +    cnt->nd_tags = 0;
           68  +    cnt->ways = 0;
           69  +    cnt->way_nds = 0;
           70  +    cnt->way_tags = 0;
           71  +    cnt->relations = 0;
           72  +    cnt->rel_members = 0;
           73  +    cnt->rel_tags = 0;
           74  +}
           75  +
           76  +static int
           77  +parse_node (const void *user_data, const readosm_node * node)
           78  +{
           79  +/* Node callback function */
           80  +    struct osm_count *cnt = (struct osm_count *) user_data;
           81  +    cnt->nodes++;
           82  +    cnt->nd_tags += node->tag_count;
           83  +    return READOSM_OK;
           84  +}
           85  +
           86  +static int
           87  +parse_way (const void *user_data, const readosm_way * way)
           88  +{
           89  +/* Way callback function */
           90  +    struct osm_count *cnt = (struct osm_count *) user_data;
           91  +    cnt->ways++;
           92  +    cnt->way_nds += way->node_ref_count;
           93  +    cnt->way_tags += way->tag_count;
           94  +    return READOSM_OK;
           95  +}
           96  +
           97  +static int
           98  +parse_relation (const void *user_data, const readosm_relation * relation)
           99  +{
          100  +/* Relation callback function */
          101  +    struct osm_count *cnt = (struct osm_count *) user_data;
          102  +    cnt->relations++;
          103  +    cnt->rel_members += relation->member_count;
          104  +    cnt->rel_tags += relation->tag_count;
          105  +    return READOSM_OK;
          106  +}
          107  +
          108  +int
          109  +main (int argc, char *argv[])
          110  +{
          111  +    const void *handle;
          112  +    int ret;
          113  +    struct osm_count count;
          114  +    char buffer[128];
          115  +    memset (buffer, '\0', 128);
          116  +
          117  +    ret = readosm_open ("testdata/not-exists.osm", &handle);
          118  +    readosm_close (handle);
          119  +    if (ret != READOSM_FILE_NOT_FOUND)
          120  +      {
          121  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          122  +		   READOSM_FILE_NOT_FOUND, ret);
          123  +	  return -1;
          124  +      }
          125  +
          126  +    ret = readosm_open ("testdata/test.foo", &handle);
          127  +    readosm_close (handle);
          128  +    if (ret != READOSM_INVALID_SUFFIX)
          129  +      {
          130  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          131  +		   READOSM_INVALID_SUFFIX, ret);
          132  +	  return -2;
          133  +      }
          134  +
          135  +    ret = readosm_open ("testdata/test.osm", &handle);
          136  +    if (ret != READOSM_OK)
          137  +      {
          138  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          139  +	  return -3;
          140  +      }
          141  +
          142  +    ret = readosm_close (NULL);
          143  +    if (ret != READOSM_NULL_HANDLE)
          144  +      {
          145  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          146  +		   READOSM_NULL_HANDLE, ret);
          147  +	  return -4;
          148  +      }
          149  +
          150  +    ret = readosm_close (buffer);
          151  +    if (ret != READOSM_INVALID_HANDLE)
          152  +      {
          153  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          154  +		   READOSM_INVALID_HANDLE, ret);
          155  +	  return -5;
          156  +      }
          157  +
          158  +    ret = readosm_parse (NULL, NULL, NULL, NULL, NULL);
          159  +    if (ret != READOSM_NULL_HANDLE)
          160  +      {
          161  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          162  +		   READOSM_NULL_HANDLE, ret);
          163  +	  return -6;
          164  +      }
          165  +
          166  +    ret = readosm_parse (buffer, NULL, NULL, NULL, NULL);
          167  +    if (ret != READOSM_INVALID_HANDLE)
          168  +      {
          169  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          170  +		   READOSM_INVALID_HANDLE, ret);
          171  +	  return -7;
          172  +      }
          173  +
          174  +    zero_count (&count);
          175  +    ret = readosm_parse (handle, &count, parse_node, parse_way, parse_relation);
          176  +    if (ret != READOSM_OK)
          177  +      {
          178  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          179  +		   READOSM_OK, ret);
          180  +	  return -8;
          181  +      }
          182  +    if (count.nodes != 1060 || count.nd_tags != 1052 || count.ways != 112
          183  +	|| count.way_nds != 785 || count.way_tags != 241
          184  +	|| count.relations != 13 || count.rel_members != 66
          185  +	|| count.rel_tags != 199)
          186  +      {
          187  +	  fprintf (stderr,
          188  +		   "XML-ALL: unexpected results: expected 1060/1052/112/785/241/13/66/19, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          189  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          190  +		   count.way_tags, count.relations, count.rel_members,
          191  +		   count.rel_tags);
          192  +	  return -9;
          193  +      }
          194  +
          195  +    ret = readosm_close (handle);
          196  +    if (ret != READOSM_OK)
          197  +      {
          198  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          199  +	  return -10;
          200  +      }
          201  +
          202  +    ret = readosm_open ("testdata/test.osm", &handle);
          203  +    if (ret != READOSM_OK)
          204  +      {
          205  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          206  +	  return -11;
          207  +      }
          208  +
          209  +    zero_count (&count);
          210  +    ret = readosm_parse (handle, &count, parse_node, NULL, NULL);
          211  +    if (ret != READOSM_OK)
          212  +      {
          213  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          214  +		   READOSM_OK, ret);
          215  +	  return -12;
          216  +      }
          217  +    if (count.nodes != 1060 || count.nd_tags != 1052 || count.ways != 0
          218  +	|| count.way_nds != 0 || count.way_tags != 0 || count.relations != 0
          219  +	|| count.rel_members != 0 || count.rel_tags != 0)
          220  +      {
          221  +	  fprintf (stderr,
          222  +		   "XML-NODE: unexpected results: expected 1060/1052/0/0/0/0/0/0, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          223  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          224  +		   count.way_tags, count.relations, count.rel_members,
          225  +		   count.rel_tags);
          226  +	  return -13;
          227  +      }
          228  +
          229  +    ret = readosm_close (handle);
          230  +    if (ret != READOSM_OK)
          231  +      {
          232  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          233  +	  return -14;
          234  +      }
          235  +
          236  +    ret = readosm_open ("testdata/test.osm", &handle);
          237  +    if (ret != READOSM_OK)
          238  +      {
          239  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          240  +	  return -15;
          241  +      }
          242  +
          243  +    zero_count (&count);
          244  +    ret = readosm_parse (handle, &count, NULL, parse_way, NULL);
          245  +    if (ret != READOSM_OK)
          246  +      {
          247  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          248  +		   READOSM_OK, ret);
          249  +	  return -16;
          250  +      }
          251  +    if (count.nodes != 0 || count.nd_tags != 0 || count.ways != 112
          252  +	|| count.way_nds != 785 || count.way_tags != 241 || count.relations != 0
          253  +	|| count.rel_members != 0 || count.rel_tags != 0)
          254  +      {
          255  +	  fprintf (stderr,
          256  +		   "XML-WAY: unexpected results: expected 0/0/113/785/241/0/0/0, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          257  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          258  +		   count.way_tags, count.relations, count.rel_members,
          259  +		   count.rel_tags);
          260  +	  return -17;
          261  +      }
          262  +
          263  +    ret = readosm_close (handle);
          264  +    if (ret != READOSM_OK)
          265  +      {
          266  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          267  +	  return -18;
          268  +      }
          269  +
          270  +    ret = readosm_open ("testdata/test.osm", &handle);
          271  +    if (ret != READOSM_OK)
          272  +      {
          273  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          274  +	  return -19;
          275  +      }
          276  +
          277  +    zero_count (&count);
          278  +    ret = readosm_parse (handle, &count, NULL, NULL, parse_relation);
          279  +    if (ret != READOSM_OK)
          280  +      {
          281  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          282  +		   READOSM_OK, ret);
          283  +	  return -20;
          284  +      }
          285  +    if (count.nodes != 0 || count.nd_tags != 0 || count.ways != 0
          286  +	|| count.way_nds != 0 || count.way_tags != 0 || count.relations != 13
          287  +	|| count.rel_members != 66 || count.rel_tags != 199)
          288  +      {
          289  +	  fprintf (stderr,
          290  +		   "XML-RELATION: unexpected results: expected 0/0/0/0/0/13/66/19, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          291  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          292  +		   count.way_tags, count.relations, count.rel_members,
          293  +		   count.rel_tags);
          294  +	  return -21;
          295  +      }
          296  +
          297  +    ret = readosm_close (handle);
          298  +    if (ret != READOSM_OK)
          299  +      {
          300  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          301  +	  return -22;
          302  +      }
          303  +
          304  +    ret = readosm_open ("testdata/test.osm", &handle);
          305  +    if (ret != READOSM_OK)
          306  +      {
          307  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          308  +	  return -23;
          309  +      }
          310  +
          311  +    zero_count (&count);
          312  +    ret = readosm_parse (handle, &count, NULL, NULL, NULL);
          313  +    if (ret != READOSM_OK)
          314  +      {
          315  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          316  +		   READOSM_OK, ret);
          317  +	  return -24;
          318  +      }
          319  +    if (count.nodes != 0 || count.nd_tags != 0 || count.ways != 0
          320  +	|| count.way_nds != 0 || count.way_tags != 0 || count.relations != 0
          321  +	|| count.rel_members != 0 || count.rel_tags != 0)
          322  +      {
          323  +	  fprintf (stderr,
          324  +		   "XML-NONE: unexpected results: expected 0/0/0/0/0/0/0/0, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          325  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          326  +		   count.way_tags, count.relations, count.rel_members,
          327  +		   count.rel_tags);
          328  +	  return -25;
          329  +      }
          330  +
          331  +    ret = readosm_close (handle);
          332  +    if (ret != READOSM_OK)
          333  +      {
          334  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          335  +	  return -26;
          336  +      }
          337  +
          338  +    ret = readosm_open ("testdata/test.osm.pbf", &handle);
          339  +    if (ret != READOSM_OK)
          340  +      {
          341  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          342  +	  return -27;
          343  +      }
          344  +
          345  +    zero_count (&count);
          346  +    ret = readosm_parse (handle, &count, parse_node, parse_way, parse_relation);
          347  +    if (ret != READOSM_OK)
          348  +      {
          349  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          350  +		   READOSM_OK, ret);
          351  +	  return -28;
          352  +      }
          353  +    if (count.nodes != 8000 || count.nd_tags != 3162 || count.ways != 12336
          354  +	|| count.way_nds != 221627 || count.way_tags != 24904
          355  +	|| count.relations != 1520 || count.rel_members != 5723
          356  +	|| count.rel_tags != 10081)
          357  +      {
          358  +	  fprintf (stderr,
          359  +		   "PBF-ALL: unexpected results: expected 8000/3162/12336/221627/24904/1520/5723/10081, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          360  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          361  +		   count.way_tags, count.relations, count.rel_members,
          362  +		   count.rel_tags);
          363  +	  return -29;
          364  +      }
          365  +
          366  +    ret = readosm_close (handle);
          367  +    if (ret != READOSM_OK)
          368  +      {
          369  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          370  +	  return -30;
          371  +      }
          372  +
          373  +    ret = readosm_open ("testdata/test.osm.pbf", &handle);
          374  +    if (ret != READOSM_OK)
          375  +      {
          376  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          377  +	  return -31;
          378  +      }
          379  +
          380  +    zero_count (&count);
          381  +    ret = readosm_parse (handle, &count, parse_node, NULL, NULL);
          382  +    if (ret != READOSM_OK)
          383  +      {
          384  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          385  +		   READOSM_OK, ret);
          386  +	  return -32;
          387  +      }
          388  +    if (count.nodes != 8000 || count.nd_tags != 3162 || count.ways != 0
          389  +	|| count.way_nds != 0 || count.way_tags != 0
          390  +	|| count.relations != 0 || count.rel_members != 0
          391  +	|| count.rel_tags != 0)
          392  +      {
          393  +	  fprintf (stderr,
          394  +		   "PBF-NODE: unexpected results: expected 8000/3162/0/0/0/0/0/0, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          395  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          396  +		   count.way_tags, count.relations, count.rel_members,
          397  +		   count.rel_tags);
          398  +	  return -33;
          399  +      }
          400  +
          401  +    ret = readosm_close (handle);
          402  +    if (ret != READOSM_OK)
          403  +      {
          404  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          405  +	  return -34;
          406  +      }
          407  +
          408  +    ret = readosm_open ("testdata/test.osm.pbf", &handle);
          409  +    if (ret != READOSM_OK)
          410  +      {
          411  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          412  +	  return -35;
          413  +      }
          414  +
          415  +    zero_count (&count);
          416  +    ret = readosm_parse (handle, &count, NULL, parse_way, NULL);
          417  +    if (ret != READOSM_OK)
          418  +      {
          419  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          420  +		   READOSM_OK, ret);
          421  +	  return -36;
          422  +      }
          423  +    if (count.nodes != 0 || count.nd_tags != 0 || count.ways != 12336
          424  +	|| count.way_nds != 221627 || count.way_tags != 24904
          425  +	|| count.relations != 0 || count.rel_members != 0
          426  +	|| count.rel_tags != 0)
          427  +      {
          428  +	  fprintf (stderr,
          429  +		   "PBF-WAY: unexpected results: expected 0/0/12336/221627/24904/0/0/0, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          430  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          431  +		   count.way_tags, count.relations, count.rel_members,
          432  +		   count.rel_tags);
          433  +	  return -37;
          434  +      }
          435  +
          436  +    ret = readosm_close (handle);
          437  +    if (ret != READOSM_OK)
          438  +      {
          439  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          440  +	  return -38;
          441  +      }
          442  +
          443  +    ret = readosm_open ("testdata/test.osm.pbf", &handle);
          444  +    if (ret != READOSM_OK)
          445  +      {
          446  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          447  +	  return -39;
          448  +      }
          449  +
          450  +    zero_count (&count);
          451  +    ret = readosm_parse (handle, &count, NULL, NULL, parse_relation);
          452  +    if (ret != READOSM_OK)
          453  +      {
          454  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          455  +		   READOSM_OK, ret);
          456  +	  return -40;
          457  +      }
          458  +    if (count.nodes != 0 || count.nd_tags != 0 || count.ways != 0
          459  +	|| count.way_nds != 0 || count.way_tags != 0
          460  +	|| count.relations != 1520 || count.rel_members != 5723
          461  +	|| count.rel_tags != 10081)
          462  +      {
          463  +	  fprintf (stderr,
          464  +		   "PBF-RELATION: unexpected results: expected 0/0/0/0/0/1520/5723/10081, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          465  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          466  +		   count.way_tags, count.relations, count.rel_members,
          467  +		   count.rel_tags);
          468  +	  return -41;
          469  +      }
          470  +
          471  +    ret = readosm_close (handle);
          472  +    if (ret != READOSM_OK)
          473  +      {
          474  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          475  +	  return -42;
          476  +      }
          477  +
          478  +    ret = readosm_open ("testdata/test.osm.pbf", &handle);
          479  +    if (ret != READOSM_OK)
          480  +      {
          481  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
          482  +	  return -43;
          483  +      }
          484  +
          485  +    zero_count (&count);
          486  +    ret = readosm_parse (handle, &count, NULL, NULL, NULL);
          487  +    if (ret != READOSM_OK)
          488  +      {
          489  +	  fprintf (stderr, "Unexpected result: expected %d, found %d\n",
          490  +		   READOSM_OK, ret);
          491  +	  return -44;
          492  +      }
          493  +    if (count.nodes != 0 || count.nd_tags != 0 || count.ways != 0
          494  +	|| count.way_nds != 0 || count.way_tags != 0
          495  +	|| count.relations != 0 || count.rel_members != 0
          496  +	|| count.rel_tags != 0)
          497  +      {
          498  +	  fprintf (stderr,
          499  +		   "PBF-NONE: unexpected results: expected 0/0/0/0/0/0/0/0, found %d/%d/%d/%d/%d/%d/%d/%d\n",
          500  +		   count.nodes, count.nd_tags, count.ways, count.way_nds,
          501  +		   count.way_tags, count.relations, count.rel_members,
          502  +		   count.rel_tags);
          503  +	  return -45;
          504  +      }
          505  +
          506  +    ret = readosm_close (handle);
          507  +    if (ret != READOSM_OK)
          508  +      {
          509  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
          510  +	  return -46;
          511  +      }
          512  +
          513  +    return 0;
          514  +}

Added tests/check_osm.c.

            1  +/* 
            2  +/ check_osm.c
            3  +/
            4  +/ Test cases for OSM XML input file
            5  +/
            6  +/ Author: Sandro Furieri a.furieri@lqt.it
            7  +/
            8  +/ ------------------------------------------------------------------------------
            9  +/ 
           10  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           11  +/ 
           12  +/ The contents of this file are subject to the Mozilla Public License Version
           13  +/ 1.1 (the "License"); you may not use this file except in compliance with
           14  +/ the License. You may obtain a copy of the License at
           15  +/ http://www.mozilla.org/MPL/
           16  +/ 
           17  +/ Software distributed under the License is distributed on an "AS IS" basis,
           18  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           19  +/ for the specific language governing rights and limitations under the
           20  +/ License.
           21  +/
           22  +/ The Original Code is the ReadOSM library
           23  +/
           24  +/ The Initial Developer of the Original Code is Alessandro Furieri
           25  +/ 
           26  +/ Portions created by the Initial Developer are Copyright (C) 2012
           27  +/ the Initial Developer. All Rights Reserved.
           28  +/ 
           29  +/ Contributor(s):
           30  +/
           31  +/ Alternatively, the contents of this file may be used under the terms of
           32  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           33  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           34  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           35  +/ of those above. If you wish to allow use of your version of this file only
           36  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           37  +/ use your version of this file under the terms of the MPL, indicate your
           38  +/ decision by deleting the provisions above and replace them with the notice
           39  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           40  +/ the provisions above, a recipient may use your version of this file under
           41  +/ the terms of any one of the MPL, the GPL or the LGPL.
           42  +/ 
           43  +*/
           44  +
           45  +#include <stdio.h>
           46  +
           47  +#include "readosm.h"
           48  +
           49  +static int
           50  +check_node (const void *user_data, const readosm_node * node)
           51  +{
           52  +/* Node callback function: does absolutely nothing */
           53  +    return READOSM_OK;
           54  +}
           55  +
           56  +static int
           57  +check_way (const void *user_data, const readosm_way * way)
           58  +{
           59  +/* Way callback function: does absolutely nothing */
           60  +    return READOSM_OK;
           61  +}
           62  +
           63  +static
           64  +check_relation (const void *user_data, const readosm_relation * relation)
           65  +{
           66  +/* Relation callback function: does absolutely nothing */
           67  +    return READOSM_OK;
           68  +}
           69  +
           70  +int
           71  +main (int argc, char *argv[])
           72  +{
           73  +    const void *handle;
           74  +    int ret;
           75  +
           76  +    ret = readosm_open ("testdata/test.osm", &handle);
           77  +    if (ret != READOSM_OK)
           78  +      {
           79  +	  fprintf (stderr, "OPEN ERROR: %d\n", ret);
           80  +	  return -1;
           81  +      }
           82  +
           83  +
           84  +    ret =
           85  +	readosm_parse (handle, (const void *) 0, check_node, check_way,
           86  +		       check_relation);
           87  +    if (ret != READOSM_OK)
           88  +      {
           89  +	  fprintf (stderr, ".osm PARSE error: %d\n", ret);
           90  +	  return -2;
           91  +      }
           92  +
           93  +    ret = readosm_close (handle);
           94  +    if (ret != READOSM_OK)
           95  +      {
           96  +	  fprintf (stderr, "CLOSE ERROR: %d\n", ret);
           97  +	  return -3;
           98  +      }
           99  +
          100  +    return 0;
          101  +}

Added tests/check_pbf.c.

            1  +/* 
            2  +/ check_pbf.c
            3  +/
            4  +/ Test cases for OSM .pbf (Protocol Buffer) input file
            5  +/
            6  +/ Author: Sandro Furieri a.furieri@lqt.it
            7  +/
            8  +/ ------------------------------------------------------------------------------
            9  +/ 
           10  +/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
           11  +/ 
           12  +/ The contents of this file are subject to the Mozilla Public License Version
           13  +/ 1.1 (the "License"); you may not use this file except in compliance with
           14  +/ the License. You may obtain a copy of the License at
           15  +/ http://www.mozilla.org/MPL/
           16  +/ 
           17  +/ Software distributed under the License is distributed on an "AS IS" basis,
           18  +/ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
           19  +/ for the specific language governing rights and limitations under the
           20  +/ License.
           21  +/
           22  +/ The Original Code is the ReadOSM library
           23  +/
           24  +/ The Initial Developer of the Original Code is Alessandro Furieri
           25  +/ 
           26  +/ Portions created by the Initial Developer are Copyright (C) 2012
           27  +/ the Initial Developer. All Rights Reserved.
           28  +/ 
           29  +/ Contributor(s):
           30  +/
           31  +/ Alternatively, the contents of this file may be used under the terms of
           32  +/ either the GNU General Public License Version 2 or later (the "GPL"), or
           33  +/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
           34  +/ in which case the provisions of the GPL or the LGPL are applicable instead
           35  +/ of those above. If you wish to allow use of your version of this file only
           36  +/ under the terms of either the GPL or the LGPL, and not to allow others to
           37  +/ use your version of this file under the terms of the MPL, indicate your
           38  +/ decision by deleting the provisions above and replace them with the notice
           39  +/ and other provisions required by the GPL or the LGPL. If you do not delete
           40  +/ the provisions above, a recipient may use your version of this file under
           41  +/ the terms of any one of the MPL, the GPL or the LGPL.
           42  +/ 
           43  +*/
           44  +
           45  +#include <stdio.h>
           46  +
           47  +#include "readosm.h"
           48  +
           49  +static int
           50  +check_node (const void *user_data, const readosm_node * node)
           51  +{
           52  +/* Node callback function: does absolutely nothing */
           53  +    return READOSM_OK;
           54  +}
           55  +
           56  +static int
           57  +check_way (const void *user_data, const readosm_way * way)
           58  +{
           59  +/* Way callback function: does absolutely nothing */
           60  +    return READOSM_OK;
           61  +}
           62  +
           63  +static int
           64  +check_relation (const void *user_data, const readosm_relation * relation)
           65  +{
           66  +/* Relation callback function: does absolutely nothing */
           67  +    return READOSM_OK;
           68  +}
           69  +
           70  +int
           71  +main (int argc, char *argv[])
           72  +{
           73  +    const void *handle;
           74  +    int ret;
           75  +
           76  +    ret = readosm_open ("testdata/test.osm.pbf", &handle);
           77  +    if (ret != READOSM_OK)
           78  +      {
           79  +	  fprintf (stderr, "OPEN ERROR #1: %d\n", ret);
           80  +	  return -1;
           81  +      }
           82  +
           83  +    ret =
           84  +	readosm_parse (handle, (const void *) 0, check_node, check_way,
           85  +		       check_relation);
           86  +    if (ret != READOSM_OK)
           87  +      {
           88  +	  fprintf (stderr, ".pbf PARSE error #1: %d\n", ret);
           89  +	  return -2;
           90  +      }
           91  +
           92  +    ret = readosm_close (handle);
           93  +    if (ret != READOSM_OK)
           94  +      {
           95  +	  fprintf (stderr, "CLOSE ERROR #1: %d\n", ret);
           96  +	  return -3;
           97  +      }
           98  +
           99  +    ret = readosm_open ("testdata/noNodesPackedInfos.osm.pbf", &handle);
          100  +    if (ret != READOSM_OK)
          101  +      {
          102  +	  fprintf (stderr, "OPEN ERROR #2: %d\n", ret);
          103  +	  return -4;
          104  +      }
          105  +
          106  +    ret =
          107  +	readosm_parse (handle, (const void *) 0, check_node, check_way,
          108  +		       check_relation);
          109  +    if (ret != READOSM_OK)
          110  +      {
          111  +	  fprintf (stderr, ".pbf PARSE error #2: %d\n", ret);
          112  +	  return -5;
          113  +      }
          114  +
          115  +    ret = readosm_close (handle);
          116  +    if (ret != READOSM_OK)
          117  +      {
          118  +	  fprintf (stderr, "CLOSE ERROR #2: %d\n", ret);
          119  +	  return -6;
          120  +      }
          121  +
          122  +    return 0;
          123  +}

Added tests/testdata/noNodesPackedInfos.osm.pbf.

cannot compute difference between binary files

Added tests/testdata/test.osm.

            1  +<?xml version='1.0' encoding='UTF-8'?>
            2  +<osm version="0.6" generator="pbf2osm">
            3  +	<node id="14468314" lat="41.5494188" lon="9.3076645" version="1" changeset="113913" timestamp="2006-09-18T15:15:02Z">
            4  +		<tag k="created_by" v="JOSM" />
            5  +	</node>
            6  +	<node id="14468315" lat="41.5498185" lon="9.3071208" version="2" changeset="1797942" user="Andreas Wissinger" uid="77430" timestamp="2009-07-11T15:38:13Z"/>
            7  +	<node id="14468318" lat="41.5502498" lon="9.3064952" version="1" changeset="98534" timestamp="2006-08-30T16:42:13Z">
            8  +		<tag k="created_by" v="JOSM" />
            9  +	</node>
           10  +	<node id="14468319" lat="41.5501734" lon="9.3061536" version="1" changeset="519484" user="LHCarsten" uid="6168" timestamp="2007-09-26T15:33:27Z">
           11  +		<tag k="created_by" v="JOSM" />
           12  +	</node>
           13  +	<node id="14468321" lat="41.5516343" lon="9.3037460" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:01Z"/>
           14  +	<node id="14468322" lat="41.5517659" lon="9.3028608" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:01Z"/>
           15  +	<node id="14468323" lat="41.5527219" lon="9.3017699" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:01Z"/>
           16  +	<node id="14468324" lat="41.5519884" lon="9.3010675" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           17  +	<node id="14468325" lat="41.5506986" lon="9.3008478" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           18  +	<node id="14468326" lat="41.5504463" lon="9.2998388" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           19  +	<node id="14468327" lat="41.5487692" lon="9.2973741" version="1" changeset="519484" user="LHCarsten" uid="6168" timestamp="2007-09-26T15:33:31Z">
           20  +		<tag k="created_by" v="JOSM" />
           21  +	</node>
           22  +	<node id="14468328" lat="41.5475514" lon="9.2969774" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           23  +	<node id="14468329" lat="41.5467741" lon="9.2977991" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           24  +	<node id="14468330" lat="41.5460156" lon="9.2976950" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           25  +	<node id="14468331" lat="41.5458205" lon="9.2972498" version="1" changeset="519484" user="LHCarsten" uid="6168" timestamp="2007-09-26T15:33:26Z">
           26  +		<tag k="created_by" v="JOSM" />
           27  +	</node>
           28  +	<node id="14468332" lat="41.5437405" lon="9.2943254" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           29  +	<node id="14468333" lat="41.5428111" lon="9.2922358" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           30  +	<node id="14468334" lat="41.5434519" lon="9.2907657" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           31  +	<node id="14468335" lat="41.5436880" lon="9.2907034" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           32  +	<node id="14468336" lat="41.5441739" lon="9.2910326" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           33  +	<node id="14468337" lat="41.5451859" lon="9.2907875" version="2" changeset="9313584" user="corse09" uid="519341" timestamp="2011-09-16T07:15:46Z"/>
           34  +	<node id="14468339" lat="41.5459970" lon="9.2901322" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           35  +	<node id="14468340" lat="41.5462410" lon="9.2891908" version="2" changeset="2651403" user="LHCarsten" uid="6168" timestamp="2009-09-27T12:24:02Z"/>
           36  +	<node id="14468341" lat="41.5453573" lon="9.2865853" version="1" changeset="519484" user="LHCarsten" uid="6168" timestamp="2007-09-26T15:33:27Z">
           37  +		<tag k="created_by" v="JOSM" />
           38  +	</node>
           39  +	<node id="14468342" lat="41.5451737" lon="9.2858054" version="2" changeset="2650522" user="LHCarsten" uid="6168" timestamp="2009-09-27T11:02:19Z"/>
           40  +	<node id="14468343" lat="41.5455279" lon="9.2838155" version="2" changeset="2650522" user="LHCarsten" uid="6168" timestamp="2009-09-27T11:02:19Z"/>
           41  +	<node id="14468344" lat="41.5438060" lon="9.2817348" version="2" changeset="2650522" user="LHCarsten" uid="6168" timestamp="2009-09-27T11:02:19Z"/>
           42  +	<node id="14468345" lat="41.5432966" lon="9.2789868" version="2" changeset="2650522" user="LHCarsten" uid="6168" timestamp="2009-09-27T11:02:19Z"/>
           43  +	<node id="14468346" lat="41.5429598" lon="9.2780654" version="2" changeset="2650522" user="LHCarsten" uid="6168" timestamp="2009-09-27T11:02:19Z"/>
           44  +	<node id="14468347" lat="41.5463969" lon="9.2740656" version="2" changeset="2650522" user="LHCarsten" uid="6168" timestamp="2009-09-27T11:02:19Z"/>
           45  +	<node id="14468348" lat="41.5472626" lon="9.2705926" version="2" changeset="2650522" user="LHCarsten" uid="6168" timestamp="2009-09-27T11:02:19Z"/>
           46  +	<node id="14468349" lat="41.5466690" lon="9.2700949" version="2" changeset="2650522" user="LHCarsten" uid="6168" timestamp="2009-09-27T11:02:19Z"/>
           47  +	<node id="14468350" lat="41.5467810" lon="9.2692612" version="4" changeset="9313584" user="corse09" uid="519341" timestamp="2011-09-16T07:15:46Z"/>
           48  +	<node id="14468351" lat="41.5469465" lon="9.2691374" version="4" changeset="9313584" user="corse09" uid="519341" timestamp="2011-09-16T07:15:46Z"/>
           49  +	<node id="14468352" lat="41.5466993" lon="9.2690674" version="5" changeset="9313584" user="corse09" uid="519341" timestamp="2011-09-16T07:15:46Z"/>
           50  +	<node id="14468353" lat="41.5441041" lon="9.2683746" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:40Z"/>
           51  +	<node id="14468354" lat="41.4998965" lon="9.2514418" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:39Z"/>
           52  +	<node id="14468356" lat="41.4933480" lon="9.2462806" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:39Z"/>
           53  +	<node id="14468357" lat="41.4929560" lon="9.2460394" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:39Z"/>
           54  +	<node id="14468358" lat="41.4915689" lon="9.2457077" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:39Z"/>
           55  +	<node id="14468359" lat="41.4912223" lon="9.2455602" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:39Z"/>
           56  +	<node id="14468360" lat="41.4909624" lon="9.2450923" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:39Z"/>
           57  +	<node id="14468361" lat="41.4908401" lon="9.2445143" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:39Z"/>
           58  +	<node id="14468362" lat="41.4907575" lon="9.2435116" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           59  +	<node id="14468363" lat="41.4900901" lon="9.2427934" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           60  +	<node id="14468364" lat="41.4886439" lon="9.2425716" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           61  +	<node id="14468365" lat="41.4817083" lon="9.2379278" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           62  +	<node id="14468366" lat="41.4730841" lon="9.2267706" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           63  +	<node id="14468368" lat="41.4665405" lon="9.2229711" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           64  +	<node id="14468369" lat="41.4484176" lon="9.2069288" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           65  +	<node id="14468371" lat="41.4316818" lon="9.1886250" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           66  +	<node id="14468372" lat="41.4292694" lon="9.1879013" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:38Z"/>
           67  +	<node id="14468374" lat="41.4279818" lon="9.1871981" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:37Z"/>
           68  +	<node id="14468375" lat="41.4267666" lon="9.1849159" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:37Z"/>
           69  +	<node id="14468376" lat="41.4267099" lon="9.1834553" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:37Z"/>
           70  +	<node id="14468377" lat="41.4261418" lon="9.1825749" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:37Z"/>
           71  +	<node id="14468379" lat="41.4238452" lon="9.1809567" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:37Z"/>
           72  +	<node id="14468380" lat="41.4225317" lon="9.1812579" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:36Z"/>
           73  +	<node id="14468381" lat="41.4211578" lon="9.1809958" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:36Z"/>
           74  +	<node id="14468383" lat="41.4150967" lon="9.1767139" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:36Z"/>
           75  +	<node id="14468384" lat="41.4136846" lon="9.1739600" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:36Z"/>
           76  +	<node id="14468385" lat="41.4137570" lon="9.1718411" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:35Z"/>
           77  +	<node id="14468386" lat="41.4132573" lon="9.1700196" version="2" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:35Z"/>
           78  +	<node id="14468387" lat="41.4130047" lon="9.1701754" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:19:14Z"/>
           79  +	<node id="14468388" lat="41.4128176" lon="9.1715675" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:19:14Z"/>
           80  +	<node id="14468391" lat="41.4119124" lon="9.1735684" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:34Z"/>
           81  +	<node id="14468392" lat="41.4110776" lon="9.1737618" version="7" changeset="11164863" user="Vlad" uid="24247" timestamp="2012-03-31T11:12:46Z"/>
           82  +	<node id="14468393" lat="41.4073259" lon="9.1717284" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:21:52Z"/>
           83  +	<node id="14468394" lat="41.4036395" lon="9.1685250" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:34Z"/>
           84  +	<node id="14468396" lat="41.4020359" lon="9.1683250" version="3" changeset="5974345" user="Marcussacapuces91" uid="37548" timestamp="2010-10-06T23:18:33Z"/>
           85  +	<node id="14468397" lat="41.3999615" lon="9.1662821" version="5" changeset="11164863" user="Vlad" uid="24247" timestamp="2012-03-31T11:12:46Z"/>
           86  +	<node id="14468399" lat="41.3991936" lon="9.1651574" version="4" changeset="11164863" user="Vlad" uid="24247" timestamp="2012-03-31T11:12:46Z"/>
           87  +	<node id="14468401" lat="41.3978181" lon="9.1636569" version="1" changeset="98534" timestamp="2006-08-30T16:42:21Z">
           88  +		<tag k="created_by" v="JOSM" />
           89  +	</node>
           90  +	<node id="14468409" lat="41.3911425" lon="9.1650704" version="2" changeset="11164863" user="Vlad" uid="24247" timestamp="2012-03-31T11:12:46Z"/>
           91  +	<node id="14468411" lat="41.3894758" lon="9.1655168" version="4" changeset="7146557" user="Markus B" uid="49111" timestamp="2011-01-31T16:47:14Z"/>
           92  +	<node id="14468412" lat="41.3886607" lon="9.1658845" version="3" changeset="267472" user="pingoo" uid="25996" timestamp="2008-08-15T07:20:54Z">
           93  +		<tag k="created_by" v="JOSM" />
           94  +	</node>
           95  +	<node id="14468413" lat="41.3879057" lon="9.1676260" version="2" changeset="7146557" user="Markus B" uid="49111" timestamp="2011-01-31T16:47:10Z"/>
           96  +	<node id="14468414" lat="41.3881373" lon="9.1680344" version="3" changeset="7146557" user="Markus B" uid="49111" timestamp="2011-01-31T16:47:12Z"/>
           97  +	<node id="14468415" lat="41.3887587" lon="9.1678132" version="5" changeset="7146557" user="Markus B" uid="49111" timestamp="2011-01-31T16:47:33Z"/>
           98  +	<node id="14468416" lat="41.3893424" lon="9.1673960" version="3" changeset="4650192" user="Freek" uid="5446" timestamp="2010-05-09T15:59:05Z"/>
           99  +	<node id="14468418" lat="41.3880541" lon="9.1630420" version="3" changeset="249048" user="pingoo" uid="25996" timestamp="2008-08-14T19:02:07Z">
          100  +		<tag k="created_by" v="JOSM" />
          101  +	</node>
          102  +	<node id="14468419" lat="41.3882028" lon="9.1619111" version="3" changeset="1005955" user="aikon" uid="44329" timestamp="2009-04-28T17:31:26Z">
          103  +		<tag k="created_by" v="JOSM" />
          104  +	</node>
          105  +	<node id="14468420" lat="41.3870658" lon="9.1606543" version="2" changeset="119673" timestamp="2008-04-12T14:41:02Z">
          106  +		<tag k="created_by" v="JOSM" />
          107  +	</node>
          108  +	<node id="14468421" lat="41.3876178" lon="9.1608651" version="3" changeset="7146557" user="Markus B" uid="49111" timestamp="2011-01-31T16:47:09Z"/>
          109  +	<node id="14468422" lat="41.3882411" lon="9.1604250" version="3" changeset="249048" user="pingoo" uid="25996" timestamp="2008-08-14T19:02:07Z">
          110  +		<tag k="created_by" v="JOSM" />
          111  +	</node>
          112  +	<node id="14468462" lat="41.3876852" lon="9.1641790" version="3" changeset="1005955" user="aikon" uid="44329" timestamp="2009-04-28T17:31:26Z">
          113  +		<tag k="created_by" v="JOSM" />
          114  +	</node>
          115  +	<node id="14468463" lat="41.3877597" lon="9.1620927" version="3" changeset="1005955" user="aikon" uid="44329" timestamp="2009-04-28T17:31:26Z">
          116  +		<tag k="created_by" v="JOSM" />
          117  +	</node>
          118  +	<node id="14468464" lat="41.3878305" lon="9.1679166" version="3" changeset="7146557" user="Markus B" uid="49111" timestamp="2011-01-31T16:47:18Z"/>
          119  +	<node id="14468465" lat="41.3877683" lon="9.1711672" version="1" changeset="98534" timestamp="2006-08-30T16:42:27Z">
          120  +		<tag k="created_by" v="JOSM" />
          121  +	</node>
          122  +	<node id="14468466" lat="41.3881375" lon="9.1725670" version="2" changeset="494111" user="frausuhrbier" uid="8226" timestamp="2008-05-21T17:00:15Z">
          123  +		<tag k="created_by" v="JOSM" />
          124  +	</node>
          125  +	<node id="14468467" lat="41.3886537" lon="9.1724886" version="1" changeset="98534" timestamp="2006-08-30T16:42:27Z">
          126  +		<tag k="created_by" v="JOSM" />
          127  +	</node>
          128  +	<node id="14468468" lat="41.3886991" lon="9.1723434" version="2" changeset="494111" user="frausuhrbier" uid="8226" timestamp="2008-05-21T17:00:15Z">
          129  +		<tag k="created_by" v="JOSM" />
          130  +	</node>
          131  +	<node id="14468476" lat="41.3878261" lon="9.1714750" version="2" changeset="494111" user="frausuhrbier" uid="8226" timestamp="2008-05-21T17:00:15Z">
          132  +		<tag k="created_by" v="JOSM" />
          133  +	</node>
          134  +	<node id="14468944" lat="41.3995122" lon="9.1654285" version="5" changeset="11164863" user="Vlad" uid="24247" timestamp="2012-03-31T11:12:46Z"/>
          135  +	<node id="14469407" lat="41.6151920" lon="8.9497550" version="2" changeset="2526305" user="Jens Wilke" uid="85443" timestamp="2009-09-18T17:58:27Z"/>
          136  +	<node id="14469844" lat="41.5515410" lon="8.8969224" version="1" changeset="98534" timestamp="2006-08-30T17:16:06Z">
          137  +		<tag k="created_by" v="JOSM" />
          138  +	</node>
          139  +	<node id="14469847" lat="41.5469986" lon="8.8821384" version="1" changeset="98534" timestamp="2006-08-30T17:16:06Z">
          140  +		<tag k="created_by" v="JOSM" />
          141  +	</node>
          142  +	<node id="14469848" lat="41.5498326" lon="8.8828343" version="2" changeset="1894061" user="math" uid="39620" timestamp="2009-07-21T12:17:19Z">
          143  +		<tag k="created_by" v="JOSM" />
          144  +	</node>
          145  +	<node id="14469849" lat="41.5561110" lon="8.8871460" version="2" changeset="1894061" user="math" uid="39620" timestamp="2009-07-21T12:17:19Z">
          146  +		<tag k="created_by" v="JOSM" />
          147  +	</node>
          148  +	<node id="14469851" lat="41.5570474" lon="8.8868069" version="3" changeset="1894061" user="math" uid="39620" timestamp="2009-07-21T12:17:19Z">
          149  +		<tag k="created_by" v="JOSM" />
          150  +		<tag k="historic" v="archaeological_site" />
          151  +		<tag k="name" v="U Pagliaju" />
          152  +	</node>
          153  +	<node id="14469854" lat="41.5413125" lon="8.8670474" version="2" changeset="2526553" user="Jens Wilke" uid="85443" timestamp="2009-09-18T18:31:25Z"/>
          154  +	<node id="14469855" lat="41.5407548" lon="8.8686307" version="2" changeset="10474687" user="ligamaister" uid="70161" timestamp="2012-01-23T12:14:07Z"/>
          155  +	<node id="14469856" lat="41.5370199" lon="8.8674350" version="2" changeset="10474687" user="ligamaister" uid="70161" timestamp="2012-01-23T12:14:07Z"/>
          156  +	<node id="14469858" lat="41.5350519" lon="8.8668630" version="2" changeset="10474687" user="ligamaister" uid="70161" timestamp="2012-01-23T12:14:07Z"/>
          157  +	<node id="14469859" lat="41.5344199" lon="8.8668385" version="2" changeset="10474687" user="ligamaister" uid="70161" timestamp="2012-01-23T12:14:07Z"/>
          158  +	<node id="14469860" lat="41.5345426" lon="8.8650882" version="1" changeset="98534" timestamp="2006-08-30T17:16:07Z">
          159  +		<tag k="created_by" v="JOSM" />
          160  +	</node>
          161  +	<node id="14469861" lat="41.5353890" lon="8.8645556" version="1" changeset="98534" timestamp="2006-08-30T17:16:07Z">
          162  +		<tag k="created_by" v="JOSM" />
          163  +	</node>
          164  +	<node id="14469862" lat="41.5352516" lon="8.8640611" version="1" changeset="98534" timestamp="2006-08-30T17:16:07Z">
          165  +		<tag k="created_by" v="JOSM" />
          166  +	</node>
          167  +	<node id="14469863" lat="41.5348945" lon="8.8637315" version="1" changeset="98534" timestamp="2006-08-30T17:16:08Z">
          168  +		<tag k="created_by" v="JOSM" />
          169  +	</node>
          170  +	<node id="14469864" lat="41.5344000" lon="8.8637864" version="1" changeset="98534" timestamp="2006-08-30T17:16:08Z">
          171  +		<tag k="created_by" v="JOSM" />
          172  +	</node>
          173  +	<node id="14469865" lat="41.5340956" lon="8.8635491" version="2" changeset="1894169" user="math" uid="39620" timestamp="2009-07-21T12:29:58Z">
          174  +		<tag k="created_by" v="JOSM" />
          175  +		<tag k="name" v="Arepos Avena" />
          176  +		<tag k="tourism" v="camp_site" />
          177  +	</node>
          178  +	<node id="14469882" lat="41.5339113" lon="8.8664393" version="1" changeset="98534" timestamp="2006-08-30T17:16:09Z">
          179  +		<tag k="created_by" v="JOSM" />
          180  +	</node>
          181  +	<node id="14469883" lat="41.5335031" lon="8.8653441" version="1" changeset="98534" timestamp="2006-08-30T17:16:09Z">
          182  +		<tag k="created_by" v="JOSM" />
          183  +	</node>
          184  +	<node id="14469884" lat="41.5331328" lon="8.8651417" version="1" changeset="98534" timestamp="2006-08-30T17:16:09Z">
          185  +		<tag k="created_by" v="JOSM" />
          186  +	</node>
          187  +	<node id="14469885" lat="41.5328162" lon="8.8650554" version="1" changeset="98534" timestamp="2006-08-30T17:16:09Z">
          188  +		<tag k="created_by" v="JOSM" />
          189  +	</node>
          190  +	<node id="14469886" lat="41.5321339" lon="8.8645623" version="1" changeset="98534" timestamp="2006-08-30T17:16:10Z">
          191  +		<tag k="created_by" v="JOSM" />
          192  +	</node>
          193  +	<node id="14469887" lat="41.5320496" lon="8.8641893" version="1" changeset="98534" timestamp="2006-08-30T17:16:10Z">
          194  +		<tag k="created_by" v="JOSM" />
          195  +	</node>
          196  +	<node id="14469888" lat="41.5314323" lon="8.8633132" version="1" changeset="98534" timestamp="2006-08-30T17:16:10Z">
          197  +		<tag k="created_by" v="JOSM" />
          198  +	</node>
          199  +	<node id="14469889" lat="41.5314622" lon="8.8630743" version="1" changeset="98534" timestamp="2006-08-30T17:16:10Z">
          200  +		<tag k="created_by" v="JOSM" />
          201  +	</node>
          202  +	<node id="14469890" lat="41.5314523" lon="8.8630206" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:10Z">
          203  +		<tag k="created_by" v="JOSM" />
          204  +	</node>
          205  +	<node id="14469891" lat="41.5309271" lon="8.8629475" version="3" changeset="10494697" user="ligamaister" uid="70161" timestamp="2012-01-25T15:34:08Z"/>
          206  +	<node id="14469892" lat="41.5306359" lon="8.8633690" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:11Z">
          207  +		<tag k="created_by" v="JOSM" />
          208  +	</node>
          209  +	<node id="14469893" lat="41.5302078" lon="8.8632993" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:11Z">
          210  +		<tag k="created_by" v="JOSM" />
          211  +	</node>
          212  +	<node id="14469894" lat="41.5297399" lon="8.8634288" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:11Z">
          213  +		<tag k="created_by" v="JOSM" />
          214  +	</node>
          215  +	<node id="14469895" lat="41.5291525" lon="8.8634586" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:11Z">
          216  +		<tag k="created_by" v="JOSM" />
          217  +	</node>
          218  +	<node id="14469896" lat="41.5287941" lon="8.8636776" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:11Z">
          219  +		<tag k="created_by" v="JOSM" />
          220  +	</node>
          221  +	<node id="14469897" lat="41.5282565" lon="8.8643546" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:12Z">
          222  +		<tag k="created_by" v="JOSM" />
          223  +	</node>
          224  +	<node id="14469898" lat="41.5282565" lon="8.8647966" version="1" changeset="98534" timestamp="2006-08-30T17:16:11Z">
          225  +		<tag k="created_by" v="JOSM" />
          226  +	</node>
          227  +	<node id="14469899" lat="41.5285850" lon="8.8651948" version="1" changeset="98534" timestamp="2006-08-30T17:16:11Z">
          228  +		<tag k="created_by" v="JOSM" />
          229  +	</node>
          230  +	<node id="14469900" lat="41.5285870" lon="8.8652751" version="1" changeset="98534" timestamp="2006-08-30T17:16:11Z">
          231  +		<tag k="created_by" v="JOSM" />
          232  +	</node>
          233  +	<node id="14469901" lat="41.5290032" lon="8.8655837" version="1" changeset="98534" timestamp="2006-08-30T17:16:11Z">
          234  +		<tag k="created_by" v="JOSM" />
          235  +	</node>
          236  +	<node id="14469902" lat="41.5289634" lon="8.8657822" version="1" changeset="98534" timestamp="2006-08-30T17:16:11Z">
          237  +		<tag k="created_by" v="JOSM" />
          238  +	</node>
          239  +	<node id="14469903" lat="41.5289932" lon="8.8659216" version="1" changeset="98534" timestamp="2006-08-30T17:16:11Z">
          240  +		<tag k="created_by" v="JOSM" />
          241  +	</node>
          242  +	<node id="14469904" lat="41.5288339" lon="8.8664293" version="1" changeset="98534" timestamp="2006-08-30T17:16:11Z">
          243  +		<tag k="created_by" v="JOSM" />
          244  +	</node>
          245  +	<node id="14469905" lat="41.5287941" lon="8.8666881" version="1" changeset="98534" timestamp="2006-08-30T17:16:11Z">
          246  +		<tag k="created_by" v="JOSM" />
          247  +	</node>
          248  +	<node id="14469906" lat="41.5287344" lon="8.8668076" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          249  +		<tag k="created_by" v="JOSM" />
          250  +	</node>
          251  +	<node id="14469907" lat="41.5286746" lon="8.8672158" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          252  +		<tag k="created_by" v="JOSM" />
          253  +	</node>
          254  +	<node id="14469908" lat="41.5287344" lon="8.8674647" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          255  +		<tag k="created_by" v="JOSM" />
          256  +	</node>
          257  +	<node id="14469909" lat="41.5287842" lon="8.8678928" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          258  +		<tag k="created_by" v="JOSM" />
          259  +	</node>
          260  +	<node id="14469910" lat="41.5287941" lon="8.8682313" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          261  +		<tag k="created_by" v="JOSM" />
          262  +	</node>
          263  +	<node id="14469911" lat="41.5287045" lon="8.8694359" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          264  +		<tag k="created_by" v="JOSM" />
          265  +	</node>
          266  +	<node id="14469912" lat="41.5287145" lon="8.8698042" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          267  +		<tag k="created_by" v="JOSM" />
          268  +	</node>
          269  +	<node id="14469913" lat="41.5287842" lon="8.8703618" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          270  +		<tag k="created_by" v="JOSM" />
          271  +	</node>
          272  +	<node id="14469914" lat="41.5290131" lon="8.8711084" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          273  +		<tag k="created_by" v="JOSM" />
          274  +	</node>
          275  +	<node id="14469915" lat="41.5292023" lon="8.8715465" version="1" changeset="98534" timestamp="2006-08-30T17:16:12Z">
          276  +		<tag k="created_by" v="JOSM" />
          277  +	</node>
          278  +	<node id="14469916" lat="41.5298897" lon="8.8739591" version="1" changeset="98534" timestamp="2006-08-30T17:16:13Z">
          279  +		<tag k="created_by" v="JOSM" />
          280  +	</node>
          281  +	<node id="14469917" lat="41.5299328" lon="8.8743110" version="1" changeset="98534" timestamp="2006-08-30T17:16:13Z">
          282  +		<tag k="created_by" v="JOSM" />
          283  +	</node>
          284  +	<node id="14469919" lat="41.5300908" lon="8.8746988" version="1" changeset="98534" timestamp="2006-08-30T17:16:13Z">
          285  +		<tag k="created_by" v="JOSM" />
          286  +	</node>
          287  +	<node id="14469920" lat="41.5306869" lon="8.8753236" version="1" changeset="98534" timestamp="2006-08-30T17:16:13Z">
          288  +		<tag k="created_by" v="JOSM" />
          289  +	</node>
          290  +	<node id="14469921" lat="41.5311968" lon="8.8761783" version="1" changeset="98534" timestamp="2006-08-30T17:16:13Z">
          291  +		<tag k="created_by" v="JOSM" />
          292  +	</node>
          293  +	<node id="14469922" lat="41.5314338" lon="8.8764656" version="1" changeset="98534" timestamp="2006-08-30T17:16:13Z">
          294  +		<tag k="created_by" v="JOSM" />
          295  +	</node>
          296  +	<node id="14469923" lat="41.5322468" lon="8.8768074" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:05Z">
          297  +		<tag k="created_by" v="JOSM" />
          298  +	</node>
          299  +	<node id="14469924" lat="41.5323617" lon="8.8770659" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:06Z">
          300  +		<tag k="created_by" v="JOSM" />
          301  +	</node>
          302  +	<node id="14469925" lat="41.5322468" lon="8.8772311" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:06Z">
          303  +		<tag k="created_by" v="JOSM" />
          304  +	</node>
          305  +	<node id="14469927" lat="41.5321391" lon="8.8777195" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:05Z">
          306  +		<tag k="created_by" v="JOSM" />
          307  +	</node>
          308  +	<node id="14469928" lat="41.5322181" lon="8.8783084" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:06Z">
          309  +		<tag k="created_by" v="JOSM" />
          310  +	</node>
          311  +	<node id="14469929" lat="41.5321965" lon="8.8784305" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:07Z">
          312  +		<tag k="created_by" v="JOSM" />
          313  +	</node>
          314  +	<node id="14469931" lat="41.5319164" lon="8.8790338" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:06Z">
          315  +		<tag k="created_by" v="JOSM" />
          316  +	</node>
          317  +	<node id="14469932" lat="41.5318446" lon="8.8791630" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:07Z">
          318  +		<tag k="created_by" v="JOSM" />
          319  +	</node>
          320  +	<node id="14469933" lat="41.5314281" lon="8.8797160" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:07Z">
          321  +		<tag k="created_by" v="JOSM" />
          322  +	</node>
          323  +	<node id="14469934" lat="41.5303436" lon="8.8813176" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:07Z">
          324  +		<tag k="created_by" v="JOSM" />
          325  +	</node>
          326  +	<node id="14469936" lat="41.5300707" lon="8.8810303" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:08Z">
          327  +		<tag k="created_by" v="JOSM" />
          328  +	</node>
          329  +	<node id="14469937" lat="41.5298409" lon="8.8806712" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:08Z">
          330  +		<tag k="created_by" v="JOSM" />
          331  +	</node>
          332  +	<node id="14469938" lat="41.5293094" lon="8.8805563" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:08Z">
          333  +		<tag k="created_by" v="JOSM" />
          334  +	</node>
          335  +	<node id="14469939" lat="41.5291730" lon="8.8806353" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:07Z">
          336  +		<tag k="created_by" v="JOSM" />
          337  +	</node>
          338  +	<node id="14469941" lat="41.5287995" lon="8.8810016" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:09Z">
          339  +		<tag k="created_by" v="JOSM" />
          340  +	</node>
          341  +	<node id="14469942" lat="41.5286200" lon="8.8811883" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:08Z">
          342  +		<tag k="created_by" v="JOSM" />
          343  +	</node>
          344  +	<node id="14469943" lat="41.5279880" lon="8.8813535" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:08Z">
          345  +		<tag k="created_by" v="JOSM" />
          346  +	</node>
          347  +	<node id="14469944" lat="41.5262571" lon="8.8812027" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:09Z">
          348  +		<tag k="created_by" v="JOSM" />
          349  +	</node>
          350  +	<node id="14469946" lat="41.5259627" lon="8.8811021" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:09Z">
          351  +		<tag k="created_by" v="JOSM" />
          352  +	</node>
          353  +	<node id="14469947" lat="41.5250506" lon="8.8811093" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:09Z">
          354  +		<tag k="created_by" v="JOSM" />
          355  +	</node>
          356  +	<node id="14469948" lat="41.5248926" lon="8.8810447" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:10Z">
          357  +		<tag k="created_by" v="JOSM" />
          358  +	</node>
          359  +	<node id="14469949" lat="41.5248567" lon="8.8805419" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:10Z">
          360  +		<tag k="created_by" v="JOSM" />
          361  +	</node>
          362  +	<node id="14469951" lat="41.5245766" lon="8.8804199" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:10Z">
          363  +		<tag k="created_by" v="JOSM" />
          364  +	</node>
          365  +	<node id="14469952" lat="41.5244258" lon="8.8800679" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:12Z">
          366  +		<tag k="created_by" v="JOSM" />
          367  +	</node>
          368  +	<node id="14469954" lat="41.5243970" lon="8.8798166" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:12Z">
          369  +		<tag k="created_by" v="JOSM" />
          370  +	</node>
          371  +	<node id="14469955" lat="41.5240523" lon="8.8795078" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:13Z">
          372  +		<tag k="created_by" v="JOSM" />
          373  +	</node>
          374  +	<node id="14469956" lat="41.5238584" lon="8.8792636" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T17:33:12Z">
          375  +		<tag k="created_by" v="JOSM" />
          376  +	</node>
          377  +	<node id="14470088" lat="41.5303119" lon="8.9217200" version="6" changeset="2652635" user="vmeurisse" uid="15489" timestamp="2009-09-27T15:44:43Z">
          378  +		<tag k="historic" v="archaeological_site" />
          379  +		<tag k="name" v="Alignement d&#39;i Stantari" />
          380  +	</node>
          381  +	<node id="14470092" lat="41.5294908" lon="8.9181414" version="3" changeset="2507036" user="Jens Wilke" uid="85443" timestamp="2009-09-16T22:08:13Z">
          382  +		<tag k="historic" v="archaeological_site" />
          383  +		<tag k="name" v="Le Dolmen de Funtanaccia" />
          384  +	</node>
          385  +	<node id="14470544" lat="41.6972047" lon="8.8995123" version="1" changeset="515694" user="LHCarsten" uid="6168" timestamp="2007-09-25T16:40:45Z">
          386  +		<tag k="created_by" v="JOSM" />
          387  +	</node>
          388  +	<node id="14470545" lat="41.6974700" lon="8.8964578" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T16:10:04Z">
          389  +		<tag k="created_by" v="JOSM" />
          390  +	</node>
          391  +	<node id="14470546" lat="41.6945523" lon="8.8959581" version="3" changeset="859959" user="aikon" uid="44329" timestamp="2009-01-31T22:56:52Z">
          392  +		<tag k="created_by" v="JOSM" />
          393  +	</node>
          394  +	<node id="14470547" lat="41.6944732" lon="8.8946147" version="4" changeset="859959" user="aikon" uid="44329" timestamp="2009-01-31T22:56:52Z">
          395  +		<tag k="created_by" v="JOSM" />
          396  +	</node>
          397  +	<node id="14470548" lat="41.6953134" lon="8.8916514" version="3" changeset="859959" user="aikon" uid="44329" timestamp="2009-01-31T22:56:52Z">
          398  +		<tag k="created_by" v="JOSM" />
          399  +	</node>
          400  +	<node id="14470549" lat="41.6965061" lon="8.8908264" version="3" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T16:10:04Z">
          401  +		<tag k="created_by" v="JOSM" />
          402  +	</node>
          403  +	<node id="14470550" lat="41.6957064" lon="8.8888961" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T16:10:04Z">
          404  +		<tag k="created_by" v="JOSM" />
          405  +	</node>
          406  +	<node id="14470552" lat="41.6966710" lon="8.8878842" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T16:10:05Z">
          407  +		<tag k="created_by" v="JOSM" />
          408  +	</node>
          409  +	<node id="14470553" lat="41.6957868" lon="8.8845340" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T16:10:06Z">
          410  +		<tag k="created_by" v="JOSM" />
          411  +	</node>
          412  +	<node id="14470554" lat="41.6964160" lon="8.8817687" version="1" changeset="98534" timestamp="2006-08-30T17:28:04Z">
          413  +		<tag k="created_by" v="JOSM" />
          414  +	</node>
          415  +	<node id="14470555" lat="41.6994279" lon="8.8807616" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T16:10:06Z">
          416  +		<tag k="created_by" v="JOSM" />
          417  +	</node>
          418  +	<node id="14470556" lat="41.6984848" lon="8.8778815" version="4" changeset="859959" user="aikon" uid="44329" timestamp="2009-01-31T22:56:52Z">
          419  +		<tag k="created_by" v="JOSM" />
          420  +	</node>
          421  +	<node id="14470557" lat="41.6995489" lon="8.8758231" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T16:10:05Z">
          422  +		<tag k="created_by" v="JOSM" />
          423  +	</node>
          424  +	<node id="14470558" lat="41.6974661" lon="8.8729802" version="2" changeset="859959" user="aikon" uid="44329" timestamp="2009-01-31T23:22:02Z">
          425  +		<tag k="created_by" v="JOSM" />
          426  +	</node>
          427  +	<node id="14470559" lat="41.6983027" lon="8.8710377" version="2" changeset="818087" user="aikon" uid="44329" timestamp="2009-01-20T16:10:05Z">
          428  +		<tag k="created_by" v="JOSM" />
          429  +	</node>
          430  +	<node id="14470560" lat="41.6973775" lon="8.8655217" version="3" changeset="859959" user="aikon" uid="44329" timestamp="2009-01-31T23:22:02Z">
          431  +		<tag k="created_by" v="JOSM" />
          432  +	</node>
          433  +	<node id="14470561" lat="41.7007685" lon="8.8577325" version="4" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:30:33Z"/>
          434  +	<node id="14470562" lat="41.6974893" lon="8.8455455" version="3" changeset="859959" user="aikon" uid="44329" timestamp="2009-01-31T23:21:57Z">
          435  +		<tag k="created_by" v="JOSM" />
          436  +	</node>
          437  +	<node id="14470563" lat="41.7001969" lon="8.8383162" version="3" changeset="858786" user="aikon" uid="44329" timestamp="2009-01-31T19:19:28Z">
          438  +		<tag k="created_by" v="JOSM" />
          439  +	</node>
          440  +	<node id="14470564" lat="41.7094604" lon="8.8303085" version="1" changeset="98534" timestamp="2006-08-30T17:28:05Z">
          441  +		<tag k="created_by" v="JOSM" />
          442  +	</node>
          443  +	<node id="14470565" lat="41.7212301" lon="8.8382569" version="3" changeset="8549691" user="ckol" uid="162465" timestamp="2011-06-26T09:12:32Z"/>
          444  +	<node id="14470568" lat="41.7389312" lon="8.8513338" version="3" changeset="8549691" user="ckol" uid="162465" timestamp="2011-06-26T09:11:47Z"/>
          445  +	<node id="14470569" lat="41.7400778" lon="8.8581404" version="3" changeset="8549691" user="ckol" uid="162465" timestamp="2011-06-26T09:12:37Z"/>
          446  +	<node id="14470570" lat="41.7454962" lon="8.8617719" version="3" changeset="8549691" user="ckol" uid="162465" timestamp="2011-06-26T09:11:34Z"/>
          447  +	<node id="14470571" lat="41.7449755" lon="8.8691896" version="3" changeset="8549691" user="ckol" uid="162465" timestamp="2011-06-26T09:12:30Z"/>
          448  +	<node id="14470572" lat="41.7451896" lon="8.8694730" version="2" changeset="6016039" user="Medulove" uid="46751" timestamp="2010-10-11T20:55:23Z"/>
          449  +	<node id="14470573" lat="41.7452395" lon="8.8699096" version="3" changeset="8549691" user="ckol" uid="162465" timestamp="2011-06-26T09:11:36Z"/>
          450  +	<node id="14470574" lat="41.7443344" lon="8.8718972" version="3" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:29Z"/>
          451  +	<node id="14470575" lat="41.7425373" lon="8.8726139" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:26Z"/>
          452  +	<node id="14470576" lat="41.7462759" lon="8.8856751" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:26Z"/>
          453  +	<node id="14470577" lat="41.7447385" lon="8.8866996" version="1" changeset="98534" timestamp="2006-08-30T17:28:07Z">
          454  +		<tag k="created_by" v="JOSM" />
          455  +	</node>
          456  +	<node id="14470578" lat="41.7418545" lon="8.8850658" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:26Z"/>
          457  +	<node id="14470579" lat="41.7392781" lon="8.8879146" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:29Z"/>
          458  +	<node id="14470580" lat="41.7427182" lon="8.8941406" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:26Z"/>
          459  +	<node id="14470582" lat="41.7399906" lon="8.8958574" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:28Z"/>
          460  +	<node id="14470583" lat="41.7451716" lon="8.9003291" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:31Z"/>
          461  +	<node id="14470585" lat="41.7467566" lon="8.9125341" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:43:31Z"/>
          462  +	<node id="14470586" lat="41.7492592" lon="8.9142283" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:30:43Z"/>
          463  +	<node id="14470587" lat="41.7508342" lon="8.9121503" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:30:29Z"/>
          464  +	<node id="14470588" lat="41.7504527" lon="8.9144378" version="2" changeset="8574560" user="ckol" uid="162465" timestamp="2011-06-28T19:30:45Z"/>
          465  +	<node id="14470589" lat="41.7469493" lon="8.9164399" version="2" changeset="5480928" user="murmel" uid="8710" timestamp="2010-08-13T11:14:55Z"/>
          466  +	<node id="14470590" lat="41.7484590" lon="8.9168094" version="1" changeset="98534" timestamp="2006-08-30T17:28:08Z">
          467  +		<tag k="created_by" v="JOSM" />
          468  +	</node>
          469  +	<node id="14470592" lat="41.7490187" lon="8.9202109" version="2" changeset="5491108" user="murmel" uid="8710" timestamp="2010-08-14T14:12:05Z"/>
          470  +	<node id="14470593" lat="41.7477515" lon="8.9211338" version="2" changeset="5491108" user="murmel" uid="8710" timestamp="2010-08-14T14:12:05Z"/>
          471  +	<node id="14470594" lat="41.7465763" lon="8.9282533" version="1" changeset="98534" timestamp="2006-08-30T17:28:08Z">
          472  +		<tag k="created_by" v="JOSM" />
          473  +	</node>
          474  +	<node id="14470595" lat="41.7476206" lon="8.9293886" version="1" changeset="98534" timestamp="2006-08-30T17:28:08Z">
          475  +		<tag k="created_by" v="JOSM" />
          476  +	</node>
          477  +	<node id="14470596" lat="41.7434495" lon="8.9300610" version="1" changeset="98534" timestamp="2006-08-30T17:28:08Z">
          478  +		<tag k="created_by" v="JOSM" />
          479  +	</node>
          480  +	<node id="14470597" lat="41.7449955" lon="8.9310661" version="2" changeset="133964" timestamp="2008-04-13T19:00:38Z">
          481  +		<tag k="created_by" v="JOSM" />
          482  +	</node>
          483  +	<node id="14470598" lat="41.7470046" lon="8.9304348" version="1" changeset="515694" user="LHCarsten" uid="6168" timestamp="2007-09-25T16:08:25Z">
          484  +		<tag k="created_by" v="JOSM" />
          485  +	</node>
          486  +	<node id="14470599" lat="41.7486301" lon="8.9320675" version="2" changeset="133964" timestamp="2008-04-13T19:00:31Z">
          487  +		<tag k="created_by" v="JOSM" />
          488  +	</node>
          489  +	<node id="14470600" lat="41.7481849" lon="8.9336475" version="2" changeset="133964" timestamp="2008-04-13T19:00:36Z">
          490  +		<tag k="created_by" v="JOSM" />
          491  +	</node>
          492  +	<node id="14470602" lat="41.7505646" lon="8.9337549" version="2" changeset="133964" timestamp="2008-04-13T19:00:40Z">
          493  +		<tag k="created_by" v="JOSM" />
          494  +	</node>
          495  +	<node id="14470603" lat="41.7508973" lon="8.9388215" version="2" changeset="133964" timestamp="2008-04-13T19:00:30Z">
          496  +		<tag k="created_by" v="JOSM" />
          497  +	</node>
          498  +	<node id="14470604" lat="41.7541439" lon="8.9385018" version="1" changeset="515694" user="LHCarsten" uid="6168" timestamp="2007-09-25T16:08:31Z">
          499  +		<tag k="created_by" v="JOSM" />
          500  +	</node>
          501  +	<node id="14470605" lat="41.7561850" lon="8.9346262" version="1" changeset="515694" user="LHCarsten" uid="6168" timestamp="2007-09-25T16:08:30Z">
          502  +		<tag k="created_by" v="JOSM" />
          503  +	</node>
          504  +	<node id="14470606" lat="41.7589845" lon="8.9338361" version="1" changeset="515694" user="LHCarsten" uid="6168" timestamp="2007-09-25T16:08:30Z">
          505  +		<tag k="created_by" v="JOSM" />
          506  +	</node>
          507  +	<node id="14470607" lat="41.7619681" lon="8.9381484" version="1" changeset="515694" user="LHCarsten" uid="6168" timestamp="2007-09-25T16:08:29Z">
          508  +		<tag k="created_by" v="JOSM" />
          509  +	</node>
          510  +	<node id="14470608" lat="41.7610873" lon="8.9405959" version="1" changeset="515694" user="LHCarsten" uid="6168" timestamp="2007-09-25T16:08:30Z">
          511  +		<tag k="created_by" v="JOSM" />
          512  +	</node>
          513  +	<node id="340127254" lat="41.8504956" lon="8.8351217" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:30Z">
          514  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          515  +	</node>
          516  +	<node id="340127257" lat="41.8506432" lon="8.8365657" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:30Z">
          517  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          518  +	</node>
          519  +	<node id="340127260" lat="41.8508284" lon="8.8368740" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:30Z">
          520  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          521  +	</node>
          522  +	<node id="340127262" lat="41.8515473" lon="8.8370740" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:30Z">
          523  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          524  +	</node>
          525  +	<node id="340127264" lat="41.8518753" lon="8.8372522" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:30Z">
          526  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          527  +	</node>
          528  +	<node id="340127266" lat="41.8522250" lon="8.8375230" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:30Z">
          529  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          530  +	</node>
          531  +	<node id="340127268" lat="41.8524027" lon="8.8375375" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:30Z">
          532  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          533  +	</node>
          534  +	<node id="340127269" lat="41.8524729" lon="8.8372553" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          535  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          536  +	</node>
          537  +	<node id="340127271" lat="41.8524314" lon="8.8370340" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          538  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          539  +	</node>
          540  +	<node id="340127273" lat="41.8526218" lon="8.8355918" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          541  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          542  +	</node>
          543  +	<node id="340127275" lat="41.8527127" lon="8.8353261" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          544  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          545  +	</node>
          546  +	<node id="340127277" lat="41.8529700" lon="8.8351787" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          547  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          548  +	</node>
          549  +	<node id="340127279" lat="41.8535267" lon="8.8349027" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          550  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          551  +	</node>
          552  +	<node id="340127281" lat="41.8535911" lon="8.8347211" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          553  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          554  +	</node>
          555  +	<node id="340127282" lat="41.8534524" lon="8.8335493" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          556  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          557  +	</node>
          558  +	<node id="340127284" lat="41.8535753" lon="8.8329106" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          559  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          560  +	</node>
          561  +	<node id="340127286" lat="41.8537520" lon="8.8320893" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          562  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          563  +	</node>
          564  +	<node id="340127288" lat="41.8536350" lon="8.8314840" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          565  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          566  +	</node>
          567  +	<node id="340127290" lat="41.8534377" lon="8.8290617" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          568  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          569  +	</node>
          570  +	<node id="340127291" lat="41.8535682" lon="8.8286698" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          571  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          572  +	</node>
          573  +	<node id="340127293" lat="41.8536984" lon="8.8277135" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          574  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          575  +	</node>
          576  +	<node id="340127295" lat="41.8538205" lon="8.8270892" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          577  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          578  +	</node>
          579  +	<node id="340127298" lat="41.8546453" lon="8.8268549" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          580  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          581  +	</node>
          582  +	<node id="340127299" lat="41.8555801" lon="8.8265883" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          583  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          584  +	</node>
          585  +	<node id="340127301" lat="41.8560837" lon="8.8261042" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          586  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          587  +	</node>
          588  +	<node id="340127303" lat="41.8562854" lon="8.8242723" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          589  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          590  +	</node>
          591  +	<node id="340127305" lat="41.8564049" lon="8.8235030" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:31Z">
          592  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          593  +	</node>
          594  +	<node id="340127306" lat="41.8576034" lon="8.8227857" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:32Z">
          595  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          596  +	</node>
          597  +	<node id="340127308" lat="41.8578466" lon="8.8226947" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:32Z">
          598  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          599  +	</node>
          600  +	<node id="340127310" lat="41.8584180" lon="8.8221595" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:32Z">
          601  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          602  +	</node>
          603  +	<node id="340127313" lat="41.8586488" lon="8.8220962" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          604  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          605  +	</node>
          606  +	<node id="340127314" lat="41.8587128" lon="8.8211620" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          607  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          608  +	</node>
          609  +	<node id="340127316" lat="41.8581240" lon="8.8189602" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          610  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          611  +	</node>
          612  +	<node id="340127318" lat="41.8580730" lon="8.8181446" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          613  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          614  +	</node>
          615  +	<node id="340127319" lat="41.8576247" lon="8.8157545" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          616  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          617  +	</node>
          618  +	<node id="340127321" lat="41.8570501" lon="8.8138726" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          619  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          620  +	</node>
          621  +	<node id="340127323" lat="41.8572997" lon="8.8134783" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          622  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          623  +	</node>
          624  +	<node id="340127324" lat="41.8575720" lon="8.8124929" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          625  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          626  +	</node>
          627  +	<node id="340127326" lat="41.8579809" lon="8.8113912" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          628  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          629  +	</node>
          630  +	<node id="340127328" lat="41.8581850" lon="8.8110357" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          631  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          632  +	</node>
          633  +	<node id="340127330" lat="41.8580042" lon="8.8104095" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          634  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          635  +	</node>
          636  +	<node id="340127333" lat="41.8577890" lon="8.8103876" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          637  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          638  +	</node>
          639  +	<node id="340127335" lat="41.8575889" lon="8.8104831" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          640  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          641  +	</node>
          642  +	<node id="340127337" lat="41.8572852" lon="8.8104956" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          643  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          644  +	</node>
          645  +	<node id="340127338" lat="41.8569906" lon="8.8103499" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          646  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          647  +	</node>
          648  +	<node id="340127340" lat="41.8568993" lon="8.8100512" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          649  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          650  +	</node>
          651  +	<node id="340127342" lat="41.8569107" lon="8.8096616" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          652  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          653  +	</node>
          654  +	<node id="340127344" lat="41.8567968" lon="8.8089988" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          655  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          656  +	</node>
          657  +	<node id="340127346" lat="41.8565517" lon="8.8087423" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:33Z">
          658  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          659  +	</node>
          660  +	<node id="340127347" lat="41.8563373" lon="8.8085179" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          661  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          662  +	</node>
          663  +	<node id="340127349" lat="41.8560897" lon="8.8083047" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          664  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          665  +	</node>
          666  +	<node id="340127351" lat="41.8558756" lon="8.8073133" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          667  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          668  +	</node>
          669  +	<node id="340127353" lat="41.8557646" lon="8.8071718" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          670  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          671  +	</node>
          672  +	<node id="340127355" lat="41.8554898" lon="8.8070571" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          673  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          674  +	</node>
          675  +	<node id="340127357" lat="41.8552802" lon="8.8067463" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          676  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          677  +	</node>
          678  +	<node id="340127359" lat="41.8552503" lon="8.8065118" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          679  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          680  +	</node>
          681  +	<node id="340127361" lat="41.8550169" lon="8.8064302" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          682  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          683  +	</node>
          684  +	<node id="340127363" lat="41.8548952" lon="8.8062876" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          685  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          686  +	</node>
          687  +	<node id="340127365" lat="41.8544192" lon="8.8049513" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          688  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          689  +	</node>
          690  +	<node id="340127367" lat="41.8543454" lon="8.8047267" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          691  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          692  +	</node>
          693  +	<node id="340127369" lat="41.8544040" lon="8.8044577" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          694  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          695  +	</node>
          696  +	<node id="340127371" lat="41.8541596" lon="8.8039988" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          697  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          698  +	</node>
          699  +	<node id="340127373" lat="41.8539535" lon="8.8040068" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          700  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          701  +	</node>
          702  +	<node id="340127375" lat="41.8536699" lon="8.8042385" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          703  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          704  +	</node>
          705  +	<node id="340127376" lat="41.8533785" lon="8.8040352" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          706  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          707  +	</node>
          708  +	<node id="340127378" lat="41.8524734" lon="8.8030172" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          709  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          710  +	</node>
          711  +	<node id="340127381" lat="41.8525093" lon="8.8023842" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          712  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          713  +	</node>
          714  +	<node id="340127383" lat="41.8525412" lon="8.8018230" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:34Z">
          715  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          716  +	</node>
          717  +	<node id="340127385" lat="41.8524348" lon="8.8012189" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          718  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          719  +	</node>
          720  +	<node id="340127387" lat="41.8522415" lon="8.8006205" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          721  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          722  +	</node>
          723  +	<node id="340127389" lat="41.8522867" lon="8.8002054" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          724  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          725  +	</node>
          726  +	<node id="340127391" lat="41.8523527" lon="8.7999951" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          727  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          728  +	</node>
          729  +	<node id="340127394" lat="41.8527933" lon="8.7994754" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          730  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          731  +	</node>
          732  +	<node id="340127396" lat="41.8524819" lon="8.7990531" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          733  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          734  +	</node>
          735  +	<node id="340127400" lat="41.8523110" lon="8.7984425" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          736  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          737  +	</node>
          738  +	<node id="340127402" lat="41.8522471" lon="8.7982334" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          739  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          740  +	</node>
          741  +	<node id="340127405" lat="41.8523172" lon="8.7979511" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          742  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          743  +	</node>
          744  +	<node id="340127409" lat="41.8524013" lon="8.7976124" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          745  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          746  +	</node>
          747  +	<node id="340127416" lat="41.8526815" lon="8.7972501" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          748  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          749  +	</node>
          750  +	<node id="340127418" lat="41.8526871" lon="8.7969612" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          751  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          752  +	</node>
          753  +	<node id="340127421" lat="41.8524550" lon="8.7964746" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          754  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          755  +	</node>
          756  +	<node id="340127424" lat="41.8523763" lon="8.7963364" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          757  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          758  +	</node>
          759  +	<node id="340127426" lat="41.8524638" lon="8.7961282" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          760  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          761  +	</node>
          762  +	<node id="340127429" lat="41.8525487" lon="8.7957751" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          763  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          764  +	</node>
          765  +	<node id="340127432" lat="41.8524518" lon="8.7955771" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          766  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          767  +	</node>
          768  +	<node id="340127435" lat="41.8522655" lon="8.7954280" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          769  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          770  +	</node>
          771  +	<node id="340127438" lat="41.8521758" lon="8.7951006" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          772  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          773  +	</node>
          774  +	<node id="340127441" lat="41.8521408" lon="8.7947642" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          775  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          776  +	</node>
          777  +	<node id="340127443" lat="41.8522316" lon="8.7944985" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:35Z">
          778  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          779  +	</node>
          780  +	<node id="340127447" lat="41.8521379" lon="8.7942430" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          781  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          782  +	</node>
          783  +	<node id="340127452" lat="41.8520020" lon="8.7939687" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          784  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          785  +	</node>
          786  +	<node id="340127456" lat="41.8517458" lon="8.7933350" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          787  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          788  +	</node>
          789  +	<node id="340127461" lat="41.8513988" lon="8.7929670" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          790  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          791  +	</node>
          792  +	<node id="340127464" lat="41.8514421" lon="8.7923926" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          793  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          794  +	</node>
          795  +	<node id="340127470" lat="41.8516283" lon="8.7923536" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          796  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          797  +	</node>
          798  +	<node id="340127474" lat="41.8520209" lon="8.7919158" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          799  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          800  +	</node>
          801  +	<node id="340127479" lat="41.8522475" lon="8.7917362" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          802  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          803  +	</node>
          804  +	<node id="340127481" lat="41.8524476" lon="8.7916407" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          805  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          806  +	</node>
          807  +	<node id="340127484" lat="41.8524796" lon="8.7912677" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          808  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          809  +	</node>
          810  +	<node id="340127487" lat="41.8523363" lon="8.7911230" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          811  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          812  +	</node>
          813  +	<node id="340127489" lat="41.8521252" lon="8.7910292" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          814  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          815  +	</node>
          816  +	<node id="340127491" lat="41.8519208" lon="8.7910085" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          817  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          818  +	</node>
          819  +	<node id="340127494" lat="41.8518273" lon="8.7909412" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          820  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          821  +	</node>
          822  +	<node id="340127497" lat="41.8518393" lon="8.7905372" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          823  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          824  +	</node>
          825  +	<node id="340127500" lat="41.8519326" lon="8.7892733" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          826  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          827  +	</node>
          828  +	<node id="340127502" lat="41.8519935" lon="8.7889611" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          829  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          830  +	</node>
          831  +	<node id="340132803" lat="41.8507531" lon="8.7916745" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          832  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          833  +	</node>
          834  +	<node id="340132819" lat="41.8508186" lon="8.7932983" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:36Z">
          835  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          836  +	</node>
          837  +	<node id="340132821" lat="41.8510592" lon="8.7941186" version="3" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          838  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          839  +	</node>
          840  +	<node id="340132823" lat="41.8514263" lon="8.7952553" version="3" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          841  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          842  +	</node>
          843  +	<node id="340132837" lat="41.8515199" lon="8.7959233" version="3" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          844  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          845  +	</node>
          846  +	<node id="340132839" lat="41.8517460" lon="8.7963976" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          847  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          848  +	</node>
          849  +	<node id="340132842" lat="41.8526620" lon="8.8057811" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          850  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          851  +	</node>
          852  +	<node id="340132846" lat="41.8525838" lon="8.8060970" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          853  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          854  +	</node>
          855  +	<node id="340132851" lat="41.8353888" lon="8.8459949" version="5" changeset="5289842" user="Ziaou" uid="134812" timestamp="2010-07-22T18:27:25Z">
          856  +		<tag k="is_in" v="Europe,France,Corse" />
          857  +		<tag k="name" v="Pietrosella" />
          858  +		<tag k="place" v="village" />
          859  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          860  +	</node>
          861  +	<node id="340132854" lat="41.9040282" lon="8.8027663" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          862  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          863  +	</node>
          864  +	<node id="340132857" lat="41.9039852" lon="8.8035250" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          865  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          866  +	</node>
          867  +	<node id="340132859" lat="41.9038251" lon="8.8042317" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          868  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          869  +	</node>
          870  +	<node id="340132861" lat="41.9035800" lon="8.8048495" version="3" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          871  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          872  +	</node>
          873  +	<node id="340132866" lat="41.9039615" lon="8.8055309" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          874  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          875  +	</node>
          876  +	<node id="340132869" lat="41.9048614" lon="8.8060641" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          877  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          878  +	</node>
          879  +	<node id="340132872" lat="41.9049282" lon="8.8064726" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          880  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          881  +	</node>
          882  +	<node id="340132875" lat="41.9045041" lon="8.8070721" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          883  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          884  +	</node>
          885  +	<node id="340132879" lat="41.9039698" lon="8.8074998" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          886  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          887  +	</node>
          888  +	<node id="340132882" lat="41.9039381" lon="8.8080588" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          889  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          890  +	</node>
          891  +	<node id="340132885" lat="41.9041640" lon="8.8088656" version="3" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:37Z">
          892  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          893  +	</node>
          894  +	<node id="340132888" lat="41.9047716" lon="8.8094209" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          895  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          896  +	</node>
          897  +	<node id="340132892" lat="41.9058493" lon="8.8103531" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          898  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          899  +	</node>
          900  +	<node id="340132895" lat="41.9069044" lon="8.8110362" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          901  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          902  +	</node>
          903  +	<node id="340132897" lat="41.9075702" lon="8.8116469" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          904  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          905  +	</node>
          906  +	<node id="340132900" lat="41.9080876" lon="8.8122754" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          907  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          908  +	</node>
          909  +	<node id="340132903" lat="41.9087502" lon="8.8135932" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          910  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          911  +	</node>
          912  +	<node id="340132907" lat="41.9089696" lon="8.8142736" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          913  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          914  +	</node>
          915  +	<node id="340132910" lat="41.9090498" lon="8.8148083" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          916  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          917  +	</node>
          918  +	<node id="340132915" lat="41.9089421" lon="8.8154061" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          919  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          920  +	</node>
          921  +	<node id="340132918" lat="41.9086275" lon="8.8157525" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          922  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          923  +	</node>
          924  +	<node id="340132922" lat="41.9082029" lon="8.8160877" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          925  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          926  +	</node>
          927  +	<node id="340132929" lat="41.9079823" lon="8.8165094" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          928  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          929  +	</node>
          930  +	<node id="340132933" lat="41.9077881" lon="8.8171148" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          931  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          932  +	</node>
          933  +	<node id="340132939" lat="41.9076107" lon="8.8174258" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          934  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          935  +	</node>
          936  +	<node id="340132943" lat="41.9073309" lon="8.8180531" version="3" changeset="5727171" user="Pieren" uid="17286" timestamp="2010-09-08T19:32:35Z">
          937  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          938  +	</node>
          939  +	<node id="340132950" lat="41.9072377" lon="8.8188102" version="3" changeset="5727171" user="Pieren" uid="17286" timestamp="2010-09-08T19:32:32Z">
          940  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          941  +	</node>
          942  +	<node id="340132955" lat="41.9073979" lon="8.8198720" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          943  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          944  +	</node>
          945  +	<node id="340132959" lat="41.9076434" lon="8.8200945" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          946  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          947  +	</node>
          948  +	<node id="340132964" lat="41.9083059" lon="8.8198987" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:38Z">
          949  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          950  +	</node>
          951  +	<node id="340132967" lat="41.9084326" lon="8.8196155" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          952  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          953  +	</node>
          954  +	<node id="340132968" lat="41.9085084" lon="8.8191461" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          955  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          956  +	</node>
          957  +	<node id="340132972" lat="41.9087649" lon="8.8189583" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          958  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          959  +	</node>
          960  +	<node id="340132974" lat="41.9090996" lon="8.8191240" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          961  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          962  +	</node>
          963  +	<node id="340132975" lat="41.9097090" lon="8.8196468" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          964  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          965  +	</node>
          966  +	<node id="340132979" lat="41.9100522" lon="8.8198792" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          967  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          968  +	</node>
          969  +	<node id="340132986" lat="41.9102385" lon="8.8202766" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          970  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          971  +	</node>
          972  +	<node id="340132991" lat="41.9104080" lon="8.8207545" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          973  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          974  +	</node>
          975  +	<node id="340132996" lat="41.9102945" lon="8.8212366" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          976  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          977  +	</node>
          978  +	<node id="340132998" lat="41.9101334" lon="8.8221251" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          979  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          980  +	</node>
          981  +	<node id="340133001" lat="41.9103366" lon="8.8224419" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          982  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          983  +	</node>
          984  +	<node id="340133005" lat="41.9107639" lon="8.8233575" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          985  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          986  +	</node>
          987  +	<node id="340133008" lat="41.9115115" lon="8.8240425" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          988  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          989  +	</node>
          990  +	<node id="340133011" lat="41.9116856" lon="8.8244387" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          991  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          992  +	</node>
          993  +	<node id="340133014" lat="41.9120813" lon="8.8261244" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          994  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          995  +	</node>
          996  +	<node id="340133017" lat="41.9125104" lon="8.8270073" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
          997  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
          998  +	</node>
          999  +	<node id="340133019" lat="41.9126848" lon="8.8280452" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
         1000  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1001  +	</node>
         1002  +	<node id="340133022" lat="41.9129178" lon="8.8295663" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
         1003  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1004  +	</node>
         1005  +	<node id="340133027" lat="41.9140784" lon="8.8311985" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
         1006  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1007  +	</node>
         1008  +	<node id="340133030" lat="41.9143870" lon="8.8318224" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:39Z">
         1009  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1010  +	</node>
         1011  +	<node id="340133035" lat="41.9144345" lon="8.8327158" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1012  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1013  +	</node>
         1014  +	<node id="340133037" lat="41.9143708" lon="8.8331864" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1015  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1016  +	</node>
         1017  +	<node id="340133040" lat="41.9132961" lon="8.8304770" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1018  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1019  +	</node>
         1020  +	<node id="340133044" lat="41.9141812" lon="8.8337101" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1021  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1022  +	</node>
         1023  +	<node id="340133046" lat="41.9135896" lon="8.8348179" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1024  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1025  +	</node>
         1026  +	<node id="340133050" lat="41.9129856" lon="8.8354967" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1027  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1028  +	</node>
         1029  +	<node id="340133052" lat="41.9124304" lon="8.8359665" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1030  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1031  +	</node>
         1032  +	<node id="340133053" lat="41.9120067" lon="8.8364991" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1033  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1034  +	</node>
         1035  +	<node id="340133056" lat="41.9116678" lon="8.8372708" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1036  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1037  +	</node>
         1038  +	<node id="340133059" lat="41.9116268" lon="8.8379905" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1039  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1040  +	</node>
         1041  +	<node id="340133066" lat="41.9118873" lon="8.8383791" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1042  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1043  +	</node>
         1044  +	<node id="340133070" lat="41.9122154" lon="8.8386595" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:40Z">
         1045  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1046  +	</node>
         1047  +	<node id="340133074" lat="41.9125351" lon="8.8388731" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1048  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1049  +	</node>
         1050  +	<node id="340133076" lat="41.9129816" lon="8.8390175" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1051  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1052  +	</node>
         1053  +	<node id="340133079" lat="41.9134366" lon="8.8392285" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1054  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1055  +	</node>
         1056  +	<node id="340133081" lat="41.9138466" lon="8.8397969" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1057  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1058  +	</node>
         1059  +	<node id="340133083" lat="41.9142333" lon="8.8405605" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1060  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1061  +	</node>
         1062  +	<node id="340133085" lat="41.9145513" lon="8.8414486" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1063  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1064  +	</node>
         1065  +	<node id="340133087" lat="41.9149698" lon="8.8420838" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1066  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1067  +	</node>
         1068  +	<node id="340133090" lat="41.9153102" lon="8.8423654" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1069  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1070  +	</node>
         1071  +	<node id="340133092" lat="41.9157247" lon="8.8424242" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1072  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1073  +	</node>
         1074  +	<node id="340133094" lat="41.9165029" lon="8.8423557" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:41Z">
         1075  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1076  +	</node>
         1077  +	<node id="340133096" lat="41.9169053" lon="8.8426272" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1078  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1079  +	</node>
         1080  +	<node id="340133098" lat="41.9170436" lon="8.8430033" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1081  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1082  +	</node>
         1083  +	<node id="340133101" lat="41.9171955" lon="8.8444340" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1084  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1085  +	</node>
         1086  +	<node id="340133103" lat="41.9174564" lon="8.8456883" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1087  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1088  +	</node>
         1089  +	<node id="340133106" lat="41.9176828" lon="8.8466327" version="3" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1090  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1091  +	</node>
         1092  +	<node id="340133109" lat="41.9180847" lon="8.8476293" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1093  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1094  +	</node>
         1095  +	<node id="340133111" lat="41.9186113" lon="8.8486727" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1096  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1097  +	</node>
         1098  +	<node id="340133113" lat="41.9193015" lon="8.8495282" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1099  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1100  +	</node>
         1101  +	<node id="340133115" lat="41.9197916" lon="8.8502459" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1102  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1103  +	</node>
         1104  +	<node id="340133118" lat="41.9198671" lon="8.8507804" version="2" changeset="3141372" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:16:42Z">
         1105  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1106  +	</node>
         1107  +	<node id="340133120" lat="41.9201540" lon="8.8520041" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1108  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1109  +	</node>
         1110  +	<node id="340133122" lat="41.9203277" lon="8.8525337" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1111  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1112  +	</node>
         1113  +	<node id="340133124" lat="41.9204157" lon="8.8536688" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1114  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1115  +	</node>
         1116  +	<node id="340133126" lat="41.9205506" lon="8.8548770" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1117  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1118  +	</node>
         1119  +	<node id="340133129" lat="41.9206814" lon="8.8557094" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1120  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1121  +	</node>
         1122  +	<node id="340133131" lat="41.9209427" lon="8.8560433" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1123  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1124  +	</node>
         1125  +	<node id="340133134" lat="41.9215488" lon="8.8561395" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1126  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1127  +	</node>
         1128  +	<node id="340133136" lat="41.9219036" lon="8.8561758" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1129  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1130  +	</node>
         1131  +	<node id="340133139" lat="41.9223870" lon="8.8566349" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:17Z">
         1132  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1133  +	</node>
         1134  +	<node id="340133141" lat="41.9234127" lon="8.8583097" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1135  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1136  +	</node>
         1137  +	<node id="340133144" lat="41.9236681" lon="8.8587454" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1138  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1139  +	</node>
         1140  +	<node id="340133147" lat="41.9240404" lon="8.8589201" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1141  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1142  +	</node>
         1143  +	<node id="340133149" lat="41.9240854" lon="8.8594707" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1144  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1145  +	</node>
         1146  +	<node id="340133152" lat="41.9237679" lon="8.8601207" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1147  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1148  +	</node>
         1149  +	<node id="340133154" lat="41.9238850" lon="8.8607470" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1150  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1151  +	</node>
         1152  +	<node id="340133156" lat="41.9242183" lon="8.8611565" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1153  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1154  +	</node>
         1155  +	<node id="340133158" lat="41.9250995" lon="8.8622366" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1156  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1157  +	</node>
         1158  +	<node id="340133161" lat="41.9263370" lon="8.8639934" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1159  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1160  +	</node>
         1161  +	<node id="340133163" lat="41.9257293" lon="8.8628364" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1162  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1163  +	</node>
         1164  +	<node id="340133165" lat="41.9267416" lon="8.8647083" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1165  +		<tag k="created_by" v="JOSM" />
         1166  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1167  +	</node>
         1168  +	<node id="340133167" lat="41.9265885" lon="8.8637060" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1169  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1170  +	</node>
         1171  +	<node id="340133169" lat="41.9268928" lon="8.8634041" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1172  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1173  +	</node>
         1174  +	<node id="340133171" lat="41.9270207" lon="8.8631738" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1175  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1176  +	</node>
         1177  +	<node id="340133173" lat="41.9272087" lon="8.8628985" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:18Z">
         1178  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1179  +	</node>
         1180  +	<node id="340133175" lat="41.9276079" lon="8.8627625" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1181  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1182  +	</node>
         1183  +	<node id="340133177" lat="41.9279508" lon="8.8626648" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1184  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1185  +	</node>
         1186  +	<node id="340133180" lat="41.9282284" lon="8.8626667" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1187  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1188  +	</node>
         1189  +	<node id="340133182" lat="41.9285000" lon="8.8624289" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1190  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1191  +	</node>
         1192  +	<node id="340133184" lat="41.9287471" lon="8.8619229" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1193  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1194  +	</node>
         1195  +	<node id="340133186" lat="41.9293722" lon="8.8617479" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1196  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1197  +	</node>
         1198  +	<node id="340133188" lat="41.9295845" lon="8.8615040" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1199  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1200  +	</node>
         1201  +	<node id="340133190" lat="41.9296026" lon="8.8611870" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1202  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1203  +	</node>
         1204  +	<node id="340133192" lat="41.9298104" lon="8.8610224" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1205  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1206  +	</node>
         1207  +	<node id="340133194" lat="41.9300987" lon="8.8608394" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1208  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1209  +	</node>
         1210  +	<node id="340133196" lat="41.9305870" lon="8.8602784" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1211  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1212  +	</node>
         1213  +	<node id="340133198" lat="41.9309602" lon="8.8599978" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1214  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1215  +	</node>
         1216  +	<node id="340133200" lat="41.9313242" lon="8.8595304" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1217  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1218  +	</node>
         1219  +	<node id="340133202" lat="41.9315840" lon="8.8595113" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1220  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1221  +	</node>
         1222  +	<node id="340133204" lat="41.9318985" lon="8.8591185" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1223  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1224  +	</node>
         1225  +	<node id="340133206" lat="41.9325849" lon="8.8588828" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1226  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1227  +	</node>
         1228  +	<node id="340133208" lat="41.9333022" lon="8.8578850" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1229  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1230  +	</node>
         1231  +	<node id="340133211" lat="41.9335624" lon="8.8577757" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1232  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1233  +	</node>
         1234  +	<node id="340133213" lat="41.9337575" lon="8.8576936" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:19Z">
         1235  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1236  +	</node>
         1237  +	<node id="340133215" lat="41.9345477" lon="8.8569754" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1238  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1239  +	</node>
         1240  +	<node id="340133217" lat="41.9354563" lon="8.8561843" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1241  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1242  +	</node>
         1243  +	<node id="340133219" lat="41.9358174" lon="8.8558642" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1244  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1245  +	</node>
         1246  +	<node id="340133221" lat="41.9358756" lon="8.8555130" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1247  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1248  +	</node>
         1249  +	<node id="340133223" lat="41.9361153" lon="8.8553165" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1250  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1251  +	</node>
         1252  +	<node id="340133225" lat="41.9364289" lon="8.8551616" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1253  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1254  +	</node>
         1255  +	<node id="340133227" lat="41.9366677" lon="8.8549820" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1256  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1257  +	</node>
         1258  +	<node id="340133229" lat="41.9371046" lon="8.8548908" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1259  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1260  +	</node>
         1261  +	<node id="340133231" lat="41.9373144" lon="8.8549973" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1262  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1263  +	</node>
         1264  +	<node id="340133234" lat="41.9375989" lon="8.8549074" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1265  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1266  +	</node>
         1267  +	<node id="340133238" lat="41.9384308" lon="8.8541253" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1268  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1269  +	</node>
         1270  +	<node id="340133240" lat="41.9390366" lon="8.8537453" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1271  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1272  +	</node>
         1273  +	<node id="340133242" lat="41.9397861" lon="8.8535159" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1274  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1275  +	</node>
         1276  +	<node id="340133244" lat="41.9404367" lon="8.8536846" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1277  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1278  +	</node>
         1279  +	<node id="340133247" lat="41.9410970" lon="8.8536843" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1280  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1281  +	</node>
         1282  +	<node id="340133250" lat="41.9416427" lon="8.8536892" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:20Z">
         1283  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1284  +	</node>
         1285  +	<node id="340133253" lat="41.9422417" lon="8.8536485" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1286  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1287  +	</node>
         1288  +	<node id="340133255" lat="41.9428418" lon="8.8535909" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1289  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1290  +	</node>
         1291  +	<node id="340133256" lat="41.9436420" lon="8.8538090" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1292  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1293  +	</node>
         1294  +	<node id="340133257" lat="41.9444729" lon="8.8563772" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1295  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1296  +	</node>
         1297  +	<node id="340133258" lat="41.9452205" lon="8.8595152" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1298  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1299  +	</node>
         1300  +	<node id="340133259" lat="41.9458174" lon="8.8621786" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1301  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1302  +	</node>
         1303  +	<node id="340133260" lat="41.9461504" lon="8.8644374" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1304  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1305  +	</node>
         1306  +	<node id="340133261" lat="41.9467855" lon="8.8650536" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1307  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1308  +	</node>
         1309  +	<node id="340133262" lat="41.9476735" lon="8.8655122" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1310  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1311  +	</node>
         1312  +	<node id="340133263" lat="41.9479275" lon="8.8655995" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1313  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1314  +	</node>
         1315  +	<node id="340133264" lat="41.9487818" lon="8.8663811" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1316  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1317  +	</node>
         1318  +	<node id="340133265" lat="41.9489591" lon="8.8675423" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1319  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1320  +	</node>
         1321  +	<node id="340133266" lat="41.9491503" lon="8.8679293" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1322  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1323  +	</node>
         1324  +	<node id="340133267" lat="41.9498345" lon="8.8692855" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1325  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1326  +	</node>
         1327  +	<node id="340133268" lat="41.9501223" lon="8.8695804" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1328  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1329  +	</node>
         1330  +	<node id="340133269" lat="41.9505232" lon="8.8697644" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1331  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1332  +	</node>
         1333  +	<node id="340133270" lat="41.9507539" lon="8.8699922" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1334  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1335  +	</node>
         1336  +	<node id="340133271" lat="41.9513086" lon="8.8701513" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:21Z">
         1337  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1338  +	</node>
         1339  +	<node id="340133272" lat="41.9516267" lon="8.8701840" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1340  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1341  +	</node>
         1342  +	<node id="340133273" lat="41.9524727" lon="8.8708424" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1343  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1344  +	</node>
         1345  +	<node id="340133274" lat="41.9532943" lon="8.8716616" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1346  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1347  +	</node>
         1348  +	<node id="340133275" lat="41.9536497" lon="8.8718411" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1349  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1350  +	</node>
         1351  +	<node id="340133276" lat="41.9538585" lon="8.8718504" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1352  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1353  +	</node>
         1354  +	<node id="340133277" lat="41.9545520" lon="8.8697750" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1355  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1356  +	</node>
         1357  +	<node id="340133278" lat="41.9554534" lon="8.8669039" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1358  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1359  +	</node>
         1360  +	<node id="340133279" lat="41.9557670" lon="8.8661964" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1361  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1362  +	</node>
         1363  +	<node id="340133280" lat="41.9560580" lon="8.8649033" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1364  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1365  +	</node>
         1366  +	<node id="340133281" lat="41.9561640" lon="8.8640715" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1367  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1368  +	</node>
         1369  +	<node id="340133282" lat="41.9564557" lon="8.8635652" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1370  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1371  +	</node>
         1372  +	<node id="340133284" lat="41.9569146" lon="8.8630526" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1373  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1374  +	</node>
         1375  +	<node id="340133286" lat="41.9571959" lon="8.8628563" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1376  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1377  +	</node>
         1378  +	<node id="340133289" lat="41.9574279" lon="8.8585042" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1379  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1380  +	</node>
         1381  +	<node id="340133291" lat="41.9576346" lon="8.8549262" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:22Z">
         1382  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1383  +	</node>
         1384  +	<node id="340133293" lat="41.9576406" lon="8.8545121" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1385  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1386  +	</node>
         1387  +	<node id="340133295" lat="41.9573832" lon="8.8536535" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1388  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1389  +	</node>
         1390  +	<node id="340133297" lat="41.9571697" lon="8.8526471" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1391  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1392  +	</node>
         1393  +	<node id="340133300" lat="41.9571739" lon="8.8519921" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1394  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1395  +	</node>
         1396  +	<node id="340133303" lat="41.9570487" lon="8.8512702" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1397  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1398  +	</node>
         1399  +	<node id="340133305" lat="41.9571339" lon="8.8509136" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1400  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1401  +	</node>
         1402  +	<node id="340133309" lat="41.9570733" lon="8.8504666" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1403  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1404  +	</node>
         1405  +	<node id="340133311" lat="41.9571319" lon="8.8501557" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1406  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1407  +	</node>
         1408  +	<node id="340133313" lat="41.9571393" lon="8.8492666" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1409  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1410  +	</node>
         1411  +	<node id="340133315" lat="41.9573991" lon="8.8486289" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1412  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1413  +	</node>
         1414  +	<node id="340133317" lat="41.9574928" lon="8.8478912" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1415  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1416  +	</node>
         1417  +	<node id="340133319" lat="41.9577954" lon="8.8470927" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1418  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1419  +	</node>
         1420  +	<node id="340133321" lat="41.9577109" lon="8.8462917" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1421  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1422  +	</node>
         1423  +	<node id="340133323" lat="41.9580094" lon="8.8459187" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1424  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1425  +	</node>
         1426  +	<node id="340133325" lat="41.9581278" lon="8.8453849" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1427  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1428  +	</node>
         1429  +	<node id="340133327" lat="41.9582473" lon="8.8447313" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1430  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1431  +	</node>
         1432  +	<node id="340133329" lat="41.9581409" lon="8.8442675" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:23Z">
         1433  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1434  +	</node>
         1435  +	<node id="340133332" lat="41.9583501" lon="8.8424633" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1436  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1437  +	</node>
         1438  +	<node id="340133334" lat="41.9584230" lon="8.8421607" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1439  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1440  +	</node>
         1441  +	<node id="340133336" lat="41.9585277" lon="8.8416611" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1442  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1443  +	</node>
         1444  +	<node id="340133338" lat="41.9580705" lon="8.8405937" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1445  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1446  +	</node>
         1447  +	<node id="340133340" lat="41.9580922" lon="8.8401017" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1448  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1449  +	</node>
         1450  +	<node id="340133343" lat="41.9581601" lon="8.8395375" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1451  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1452  +	</node>
         1453  +	<node id="340133345" lat="41.9582316" lon="8.8382314" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1454  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1455  +	</node>
         1456  +	<node id="340133347" lat="41.9582317" lon="8.8378685" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1457  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1458  +	</node>
         1459  +	<node id="340133351" lat="41.9577801" lon="8.8370126" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1460  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1461  +	</node>
         1462  +	<node id="340133353" lat="41.9577633" lon="8.8359273" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1463  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1464  +	</node>
         1465  +	<node id="340133355" lat="41.9576442" lon="8.8352437" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1466  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1467  +	</node>
         1468  +	<node id="340133358" lat="41.9577615" lon="8.8348255" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1469  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1470  +	</node>
         1471  +	<node id="340133360" lat="41.9578281" lon="8.8344445" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1472  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1473  +	</node>
         1474  +	<node id="340133362" lat="41.9579895" lon="8.8343278" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1475  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1476  +	</node>
         1477  +	<node id="340133364" lat="41.9581083" lon="8.8340450" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1478  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1479  +	</node>
         1480  +	<node id="340133367" lat="41.9583474" lon="8.8337959" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1481  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1482  +	</node>
         1483  +	<node id="340133369" lat="41.9587552" lon="8.8330695" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:24Z">
         1484  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1485  +	</node>
         1486  +	<node id="340133371" lat="41.9589914" lon="8.8328438" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1487  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1488  +	</node>
         1489  +	<node id="340133373" lat="41.9593336" lon="8.8328257" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1490  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1491  +	</node>
         1492  +	<node id="340133375" lat="41.9594389" lon="8.8323196" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1493  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1494  +	</node>
         1495  +	<node id="340133378" lat="41.9597179" lon="8.8318268" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1496  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1497  +	</node>
         1498  +	<node id="340133386" lat="41.9597115" lon="8.8313129" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1499  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1500  +	</node>
         1501  +	<node id="340133395" lat="41.9599458" lon="8.8308802" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1502  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1503  +	</node>
         1504  +	<node id="340133401" lat="41.9600028" lon="8.8305777" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1505  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1506  +	</node>
         1507  +	<node id="340133406" lat="41.9601408" lon="8.8303007" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1508  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1509  +	</node>
         1510  +	<node id="340133411" lat="41.9605511" lon="8.8293618" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1511  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1512  +	</node>
         1513  +	<node id="340133417" lat="41.9609257" lon="8.8285127" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1514  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1515  +	</node>
         1516  +	<node id="340133421" lat="41.9613661" lon="8.8282788" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1517  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1518  +	</node>
         1519  +	<node id="340133425" lat="41.9618007" lon="8.8280104" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1520  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1521  +	</node>
         1522  +	<node id="340133429" lat="41.9617903" lon="8.8276672" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1523  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1524  +	</node>
         1525  +	<node id="340133433" lat="41.9616791" lon="8.8271548" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1526  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1527  +	</node>
         1528  +	<node id="340133436" lat="41.9614608" lon="8.8264565" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1529  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1530  +	</node>
         1531  +	<node id="340133441" lat="41.9608789" lon="8.8252963" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:25Z">
         1532  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1533  +	</node>
         1534  +	<node id="340133445" lat="41.9604226" lon="8.8245383" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1535  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1536  +	</node>
         1537  +	<node id="340133451" lat="41.9602495" lon="8.8239507" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1538  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1539  +	</node>
         1540  +	<node id="340133460" lat="41.9593767" lon="8.8224575" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1541  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1542  +	</node>
         1543  +	<node id="340133465" lat="41.9589140" lon="8.8222879" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1544  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1545  +	</node>
         1546  +	<node id="340133476" lat="41.9576487" lon="8.8220476" version="4" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1547  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1548  +	</node>
         1549  +	<node id="340133479" lat="41.9569267" lon="8.8219194" version="4" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1550  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1551  +	</node>
         1552  +	<node id="340133484" lat="41.9561906" lon="8.8216835" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1553  +		<tag k="created_by" v="JOSM" />
         1554  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1555  +	</node>
         1556  +	<node id="340133489" lat="41.9556216" lon="8.8209723" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1557  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1558  +	</node>
         1559  +	<node id="340133493" lat="41.9556295" lon="8.8205649" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1560  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1561  +	</node>
         1562  +	<node id="340133497" lat="41.9556687" lon="8.8198749" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1563  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1564  +	</node>
         1565  +	<node id="340133501" lat="41.9555144" lon="8.8191039" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1566  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1567  +	</node>
         1568  +	<node id="340133506" lat="41.9553779" lon="8.8188247" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1569  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1570  +	</node>
         1571  +	<node id="340133511" lat="41.9547787" lon="8.8183758" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1572  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1573  +	</node>
         1574  +	<node id="340133516" lat="41.9537332" lon="8.8177385" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1575  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1576  +	</node>
         1577  +	<node id="340133520" lat="41.9529771" lon="8.8179064" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1578  +		<tag k="created_by" v="JOSM" />
         1579  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1580  +	</node>
         1581  +	<node id="340133524" lat="41.9515352" lon="8.8173498" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:26Z">
         1582  +		<tag k="created_by" v="JOSM" />
         1583  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1584  +	</node>
         1585  +	<node id="340133529" lat="41.9050387" lon="8.8028424" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1586  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1587  +	</node>
         1588  +	<node id="340133532" lat="41.9055716" lon="8.8028417" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1589  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1590  +	</node>
         1591  +	<node id="340133537" lat="41.9060404" lon="8.8030525" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1592  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1593  +	</node>
         1594  +	<node id="340133541" lat="41.9066342" lon="8.8030627" version="3" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1595  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1596  +	</node>
         1597  +	<node id="340138309" lat="41.8225976" lon="8.8609737" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1598  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1599  +	</node>
         1600  +	<node id="340138310" lat="41.8230729" lon="8.8613056" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1601  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1602  +	</node>
         1603  +	<node id="340138312" lat="41.8236492" lon="8.8619311" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1604  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1605  +	</node>
         1606  +	<node id="340138319" lat="41.8239967" lon="8.8624388" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1607  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1608  +	</node>
         1609  +	<node id="340138320" lat="41.8243839" lon="8.8630764" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1610  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1611  +	</node>
         1612  +	<node id="340138321" lat="41.8246109" lon="8.8636347" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1613  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1614  +	</node>
         1615  +	<node id="340138322" lat="41.8250592" lon="8.8640268" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1616  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1617  +	</node>
         1618  +	<node id="340138323" lat="41.8256102" lon="8.8642721" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1619  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1620  +	</node>
         1621  +	<node id="340138324" lat="41.8261251" lon="8.8647340" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1622  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1623  +	</node>
         1624  +	<node id="340138325" lat="41.8267804" lon="8.8648011" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1625  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1626  +	</node>
         1627  +	<node id="340138326" lat="41.8273008" lon="8.8651692" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:27Z">
         1628  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1629  +	</node>
         1630  +	<node id="340138327" lat="41.8269108" lon="8.8686858" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1631  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1632  +	</node>
         1633  +	<node id="340138328" lat="41.8269847" lon="8.8690395" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1634  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1635  +	</node>
         1636  +	<node id="340138329" lat="41.8267418" lon="8.8695812" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1637  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1638  +	</node>
         1639  +	<node id="340138330" lat="41.8264052" lon="8.8701132" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1640  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1641  +	</node>
         1642  +	<node id="340138331" lat="41.8260542" lon="8.8704864" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1643  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1644  +	</node>
         1645  +	<node id="340138332" lat="41.8257392" lon="8.8706429" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1646  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1647  +	</node>
         1648  +	<node id="340138333" lat="41.8252929" lon="8.8710377" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1649  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1650  +	</node>
         1651  +	<node id="340138334" lat="41.8250481" lon="8.8716106" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1652  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1653  +	</node>
         1654  +	<node id="340138335" lat="41.8249294" lon="8.8720391" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1655  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1656  +	</node>
         1657  +	<node id="340138336" lat="41.8252339" lon="8.8741161" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1658  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1659  +	</node>
         1660  +	<node id="340138337" lat="41.8255886" lon="8.8744986" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1661  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1662  +	</node>
         1663  +	<node id="340138338" lat="41.8261973" lon="8.8757886" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1664  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1665  +	</node>
         1666  +	<node id="340138339" lat="41.8293315" lon="8.8761417" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1667  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1668  +	</node>
         1669  +	<node id="340138340" lat="41.8306815" lon="8.8751786" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1670  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1671  +	</node>
         1672  +	<node id="340138341" lat="41.8313242" lon="8.8750557" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1673  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1674  +	</node>
         1675  +	<node id="340138342" lat="41.8316067" lon="8.8746440" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1676  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1677  +	</node>
         1678  +	<node id="340138343" lat="41.8319775" lon="8.8743358" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:28Z">
         1679  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1680  +	</node>
         1681  +	<node id="340138344" lat="41.8324294" lon="8.8742563" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1682  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1683  +	</node>
         1684  +	<node id="340138345" lat="41.8329137" lon="8.8744319" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1685  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1686  +	</node>
         1687  +	<node id="340138346" lat="41.8332611" lon="8.8745305" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1688  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1689  +	</node>
         1690  +	<node id="340138347" lat="41.8342532" lon="8.8757025" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1691  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1692  +	</node>
         1693  +	<node id="340138348" lat="41.8348880" lon="8.8764193" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1694  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1695  +	</node>
         1696  +	<node id="340138349" lat="41.8352033" lon="8.8765854" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1697  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1698  +	</node>
         1699  +	<node id="340138350" lat="41.8355513" lon="8.8770556" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1700  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1701  +	</node>
         1702  +	<node id="340138351" lat="41.8360196" lon="8.8776049" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1703  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1704  +	</node>
         1705  +	<node id="340138352" lat="41.8375027" lon="8.8778909" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1706  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1707  +	</node>
         1708  +	<node id="340138353" lat="41.8377035" lon="8.8783126" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1709  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1710  +	</node>
         1711  +	<node id="340138354" lat="41.8379864" lon="8.8794779" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1712  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1713  +	</node>
         1714  +	<node id="340138355" lat="41.8382522" lon="8.8809423" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1715  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1716  +	</node>
         1717  +	<node id="340138356" lat="41.8383785" lon="8.8822253" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1718  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1719  +	</node>
         1720  +	<node id="340138357" lat="41.8385792" lon="8.8830815" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1721  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1722  +	</node>
         1723  +	<node id="340138358" lat="41.8391374" lon="8.8846763" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1724  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1725  +	</node>
         1726  +	<node id="340138359" lat="41.8391393" lon="8.8859465" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:29Z">
         1727  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1728  +	</node>
         1729  +	<node id="340138360" lat="41.8395427" lon="8.8871912" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1730  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1731  +	</node>
         1732  +	<node id="340138361" lat="41.8400568" lon="8.8873777" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1733  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1734  +	</node>
         1735  +	<node id="340138362" lat="41.8410984" lon="8.8879527" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1736  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1737  +	</node>
         1738  +	<node id="340138363" lat="41.8415036" lon="8.8882952" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1739  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1740  +	</node>
         1741  +	<node id="340138364" lat="41.8422987" lon="8.8896805" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1742  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1743  +	</node>
         1744  +	<node id="340138365" lat="41.8430881" lon="8.8911655" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1745  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1746  +	</node>
         1747  +	<node id="340138366" lat="41.8438258" lon="8.8922442" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1748  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1749  +	</node>
         1750  +	<node id="340138367" lat="41.8443399" lon="8.8924308" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1751  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1752  +	</node>
         1753  +	<node id="340138368" lat="41.8451369" lon="8.8924794" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1754  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1755  +	</node>
         1756  +	<node id="340138369" lat="41.8454293" lon="8.8926098" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1757  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1758  +	</node>
         1759  +	<node id="340138370" lat="41.8461289" lon="8.8926149" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1760  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1761  +	</node>
         1762  +	<node id="340138371" lat="41.8466391" lon="8.8928680" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1763  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1764  +	</node>
         1765  +	<node id="340138372" lat="41.8471533" lon="8.8930546" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1766  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1767  +	</node>
         1768  +	<node id="340138373" lat="41.8475355" lon="8.8929268" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1769  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1770  +	</node>
         1771  +	<node id="340138374" lat="41.8480210" lon="8.8931773" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1772  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1773  +	</node>
         1774  +	<node id="340138375" lat="41.8482236" lon="8.8935659" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:30Z">
         1775  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1776  +	</node>
         1777  +	<node id="340138376" lat="41.8486383" lon="8.8937423" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1778  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1779  +	</node>
         1780  +	<node id="340138377" lat="41.8491295" lon="8.8938931" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1781  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1782  +	</node>
         1783  +	<node id="340138378" lat="41.8495748" lon="8.8939724" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1784  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1785  +	</node>
         1786  +	<node id="340138379" lat="41.8504769" lon="8.8943661" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1787  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1788  +	</node>
         1789  +	<node id="340138380" lat="41.8509968" lon="8.8944531" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1790  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1791  +	</node>
         1792  +	<node id="340138381" lat="41.8514459" lon="8.8949004" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1793  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1794  +	</node>
         1795  +	<node id="340138382" lat="41.8519638" lon="8.8950206" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1796  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1797  +	</node>
         1798  +	<node id="340138383" lat="41.8522620" lon="8.8954859" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1799  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1800  +	</node>
         1801  +	<node id="340138384" lat="41.8528353" lon="8.8959461" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1802  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1803  +	</node>
         1804  +	<node id="340138385" lat="41.8532539" lon="8.8964906" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1805  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1806  +	</node>
         1807  +	<node id="340138386" lat="41.8538081" lon="8.8968486" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1808  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1809  +	</node>
         1810  +	<node id="340138388" lat="41.8541980" lon="8.8974571" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1811  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1812  +	</node>
         1813  +	<node id="340138390" lat="41.8545419" lon="8.8979940" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1814  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1815  +	</node>
         1816  +	<node id="340138391" lat="41.8552586" lon="8.8990038" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1817  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1818  +	</node>
         1819  +	<node id="340138392" lat="41.8557535" lon="8.9003921" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1820  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1821  +	</node>
         1822  +	<node id="340138393" lat="41.8559579" lon="8.9011821" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:31Z">
         1823  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1824  +	</node>
         1825  +	<node id="340138394" lat="41.8554437" lon="8.9022992" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1826  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1827  +	</node>
         1828  +	<node id="340138395" lat="41.8550518" lon="8.9030277" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1829  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1830  +	</node>
         1831  +	<node id="340138396" lat="41.8540233" lon="8.9048272" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1832  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1833  +	</node>
         1834  +	<node id="340138397" lat="41.8534862" lon="8.9054738" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1835  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1836  +	</node>
         1837  +	<node id="340138398" lat="41.8528707" lon="8.9057446" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1838  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1839  +	</node>
         1840  +	<node id="340138399" lat="41.8497668" lon="8.9062602" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1841  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1842  +	</node>
         1843  +	<node id="340138400" lat="41.8490883" lon="8.9063240" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1844  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1845  +	</node>
         1846  +	<node id="340138401" lat="41.8478325" lon="8.9064285" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1847  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1848  +	</node>
         1849  +	<node id="340138402" lat="41.8472458" lon="8.9066354" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1850  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1851  +	</node>
         1852  +	<node id="340138403" lat="41.8468291" lon="8.9069266" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1853  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1854  +	</node>
         1855  +	<node id="340138404" lat="41.8462958" lon="8.9070722" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1856  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1857  +	</node>
         1858  +	<node id="340138409" lat="41.8460014" lon="8.9074095" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1859  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1860  +	</node>
         1861  +	<node id="340138416" lat="41.8457128" lon="8.9076472" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1862  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1863  +	</node>
         1864  +	<node id="340138422" lat="41.8452923" lon="8.9080049" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1865  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1866  +	</node>
         1867  +	<node id="340138425" lat="41.8452118" lon="8.9089659" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1868  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1869  +	</node>
         1870  +	<node id="340138429" lat="41.8443854" lon="8.9128918" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1871  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1872  +	</node>
         1873  +	<node id="340138434" lat="41.8448366" lon="8.9124369" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1874  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1875  +	</node>
         1876  +	<node id="340138440" lat="41.8452800" lon="8.9125496" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:32Z">
         1877  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1878  +	</node>
         1879  +	<node id="340138443" lat="41.8458361" lon="8.9128744" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1880  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1881  +	</node>
         1882  +	<node id="340138447" lat="41.8462718" lon="8.9131199" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1883  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1884  +	</node>
         1885  +	<node id="340138449" lat="41.8511458" lon="8.9057847" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1886  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1887  +	</node>
         1888  +	<node id="340138450" lat="41.8468897" lon="8.9134708" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1889  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1890  +	</node>
         1891  +	<node id="340138451" lat="41.8476094" lon="8.9135072" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1892  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1893  +	</node>
         1894  +	<node id="340138452" lat="41.8476677" lon="8.9139675" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1895  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1896  +	</node>
         1897  +	<node id="340138453" lat="41.8481666" lon="8.9141515" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1898  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1899  +	</node>
         1900  +	<node id="340138454" lat="41.8482715" lon="8.9145409" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1901  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1902  +	</node>
         1903  +	<node id="340138455" lat="41.8496079" lon="8.9151710" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1904  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1905  +	</node>
         1906  +	<node id="340138456" lat="41.8501468" lon="8.9153970" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1907  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1908  +	</node>
         1909  +	<node id="340138457" lat="41.8504345" lon="8.9160514" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1910  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1911  +	</node>
         1912  +	<node id="340138458" lat="41.8507537" lon="8.9161601" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1913  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1914  +	</node>
         1915  +	<node id="340138459" lat="41.8511119" lon="8.9163296" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1916  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1917  +	</node>
         1918  +	<node id="340138460" lat="41.8514820" lon="8.9162921" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1919  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1920  +	</node>
         1921  +	<node id="340138461" lat="41.8517287" lon="8.9164312" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1922  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1923  +	</node>
         1924  +	<node id="340138462" lat="41.8523206" lon="8.9169655" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1925  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1926  +	</node>
         1927  +	<node id="340138463" lat="41.8528650" lon="8.9168514" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:33Z">
         1928  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1929  +	</node>
         1930  +	<node id="340138464" lat="41.8533075" lon="8.9170296" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1931  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1932  +	</node>
         1933  +	<node id="340138465" lat="41.8535294" lon="8.9171093" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1934  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1935  +	</node>
         1936  +	<node id="340138466" lat="41.8541050" lon="8.9174338" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1937  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1938  +	</node>
         1939  +	<node id="340138467" lat="41.8555195" lon="8.9174475" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1940  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1941  +	</node>
         1942  +	<node id="340138468" lat="41.8558906" lon="8.9176373" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1943  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1944  +	</node>
         1945  +	<node id="340138469" lat="41.8561904" lon="8.9178386" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1946  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1947  +	</node>
         1948  +	<node id="340138470" lat="41.8564955" lon="8.9179458" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1949  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1950  +	</node>
         1951  +	<node id="340138471" lat="41.8563743" lon="8.9180848" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1952  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1953  +	</node>
         1954  +	<node id="340138472" lat="41.8557746" lon="8.9184203" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1955  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1956  +	</node>
         1957  +	<node id="340138473" lat="41.8551122" lon="8.9188630" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1958  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1959  +	</node>
         1960  +	<node id="340138474" lat="41.8549000" lon="8.9191061" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1961  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1962  +	</node>
         1963  +	<node id="340138475" lat="41.8548119" lon="8.9208764" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1964  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1965  +	</node>
         1966  +	<node id="340138476" lat="41.8540325" lon="8.9218748" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1967  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1968  +	</node>
         1969  +	<node id="340138477" lat="41.8536264" lon="8.9225332" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1970  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1971  +	</node>
         1972  +	<node id="340138478" lat="41.8535180" lon="8.9231845" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1973  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1974  +	</node>
         1975  +	<node id="340138479" lat="41.8538500" lon="8.9240518" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1976  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1977  +	</node>
         1978  +	<node id="340138480" lat="41.8536516" lon="8.9252806" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1979  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1980  +	</node>
         1981  +	<node id="340138481" lat="41.8535550" lon="8.9262171" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:34Z">
         1982  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1983  +	</node>
         1984  +	<node id="340138482" lat="41.8531845" lon="8.9274849" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         1985  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1986  +	</node>
         1987  +	<node id="340138483" lat="41.8524435" lon="8.9295283" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         1988  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1989  +	</node>
         1990  +	<node id="340138484" lat="41.8521848" lon="8.9298422" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         1991  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1992  +	</node>
         1993  +	<node id="340138485" lat="41.8516772" lon="8.9300547" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         1994  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1995  +	</node>
         1996  +	<node id="340138486" lat="41.8512583" lon="8.9302006" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         1997  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         1998  +	</node>
         1999  +	<node id="340138487" lat="41.8511823" lon="8.9307795" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         2000  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2001  +	</node>
         2002  +	<node id="340138488" lat="41.8516085" lon="8.9314862" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         2003  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2004  +	</node>
         2005  +	<node id="340138489" lat="41.8514254" lon="8.9319594" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         2006  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2007  +	</node>
         2008  +	<node id="340138490" lat="41.8510895" lon="8.9331171" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         2009  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2010  +	</node>
         2011  +	<node id="340138491" lat="41.8507917" lon="8.9336163" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         2012  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2013  +	</node>
         2014  +	<node id="340138492" lat="41.8505644" lon="8.9336306" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         2015  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2016  +	</node>
         2017  +	<node id="340138493" lat="41.8500905" lon="8.9332597" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         2018  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2019  +	</node>
         2020  +	<node id="340138494" lat="41.8493235" lon="8.9325746" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:35Z">
         2021  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2022  +	</node>
         2023  +	<node id="340138495" lat="41.8491568" lon="8.9327655" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2024  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2025  +	</node>
         2026  +	<node id="340138496" lat="41.8491792" lon="8.9336007" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2027  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2028  +	</node>
         2029  +	<node id="340138497" lat="41.8489950" lon="8.9340927" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2030  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2031  +	</node>
         2032  +	<node id="340138498" lat="41.8488845" lon="8.9345355" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2033  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2034  +	</node>
         2035  +	<node id="340138499" lat="41.8487067" lon="8.9351607" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2036  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2037  +	</node>
         2038  +	<node id="340138500" lat="41.8484609" lon="8.9354949" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2039  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2040  +	</node>
         2041  +	<node id="340138501" lat="41.8482023" lon="8.9355627" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2042  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2043  +	</node>
         2044  +	<node id="340138502" lat="41.8476190" lon="8.9353698" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2045  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2046  +	</node>
         2047  +	<node id="340138503" lat="41.8471549" lon="8.9350756" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2048  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2049  +	</node>
         2050  +	<node id="340138507" lat="41.8460061" lon="8.9336507" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2051  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2052  +	</node>
         2053  +	<node id="340138508" lat="41.8457897" lon="8.9337229" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2054  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2055  +	</node>
         2056  +	<node id="340138513" lat="41.8455600" lon="8.9342669" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2057  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2058  +	</node>
         2059  +	<node id="340138518" lat="41.8453787" lon="8.9356866" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2060  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2061  +	</node>
         2062  +	<node id="340138519" lat="41.8453103" lon="8.9363798" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2063  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2064  +	</node>
         2065  +	<node id="340138520" lat="41.8446823" lon="8.9372043" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:36Z">
         2066  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2067  +	</node>
         2068  +	<node id="340138521" lat="41.8446905" lon="8.9382840" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2069  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2070  +	</node>
         2071  +	<node id="340138522" lat="41.8449035" lon="8.9387604" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2072  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2073  +	</node>
         2074  +	<node id="340138523" lat="41.8446141" lon="8.9396010" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2075  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2076  +	</node>
         2077  +	<node id="340138524" lat="41.8449199" lon="8.9406737" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2078  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2079  +	</node>
         2080  +	<node id="340138527" lat="41.8449142" lon="8.9415059" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2081  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2082  +	</node>
         2083  +	<node id="340138530" lat="41.8449950" lon="8.9423092" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2084  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2085  +	</node>
         2086  +	<node id="340138531" lat="41.8451267" lon="8.9429664" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2087  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2088  +	</node>
         2089  +	<node id="340138532" lat="41.8455225" lon="8.9434617" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2090  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2091  +	</node>
         2092  +	<node id="340138533" lat="41.8463837" lon="8.9439864" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2093  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2094  +	</node>
         2095  +	<node id="340138534" lat="41.8469409" lon="8.9443849" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2096  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2097  +	</node>
         2098  +	<node id="340138535" lat="41.8475304" lon="8.9449571" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2099  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2100  +	</node>
         2101  +	<node id="340138536" lat="41.8475356" lon="8.9453551" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2102  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2103  +	</node>
         2104  +	<node id="340138537" lat="41.8479853" lon="8.9463861" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2105  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2106  +	</node>
         2107  +	<node id="340138538" lat="41.8480008" lon="8.9478262" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2108  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2109  +	</node>
         2110  +	<node id="340138539" lat="41.8479613" lon="8.9489957" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:37Z">
         2111  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2112  +	</node>
         2113  +	<node id="340138540" lat="41.8477284" lon="8.9493501" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2114  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2115  +	</node>
         2116  +	<node id="340138541" lat="41.8478049" lon="8.9499826" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2117  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2118  +	</node>
         2119  +	<node id="340138542" lat="41.8477809" lon="8.9503966" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2120  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2121  +	</node>
         2122  +	<node id="340138543" lat="41.8476703" lon="8.9508394" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2123  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2124  +	</node>
         2125  +	<node id="340138544" lat="41.8471440" lon="8.9513715" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2126  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2127  +	</node>
         2128  +	<node id="340138546" lat="41.8472096" lon="8.9521922" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2129  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2130  +	</node>
         2131  +	<node id="340138547" lat="41.8472623" lon="8.9527466" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2132  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2133  +	</node>
         2134  +	<node id="340138548" lat="41.8470532" lon="8.9531791" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2135  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2136  +	</node>
         2137  +	<node id="340138549" lat="41.8474231" lon="8.9536340" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2138  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2139  +	</node>
         2140  +	<node id="340138550" lat="41.8479371" lon="8.9538009" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2141  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2142  +	</node>
         2143  +	<node id="340138551" lat="41.8484109" lon="8.9541720" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2144  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2145  +	</node>
         2146  +	<node id="340138552" lat="41.8483534" lon="8.9544310" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2147  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2148  +	</node>
         2149  +	<node id="340138553" lat="41.8479342" lon="8.9550689" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2150  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2151  +	</node>
         2152  +	<node id="340138554" lat="41.8474329" lon="8.9554143" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2153  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2154  +	</node>
         2155  +	<node id="340138555" lat="41.8472163" lon="8.9557325" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:38Z">
         2156  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2157  +	</node>
         2158  +	<node id="340138556" lat="41.8471554" lon="8.9562940" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2159  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2160  +	</node>
         2161  +	<node id="340138557" lat="41.8472651" lon="8.9573275" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2162  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2163  +	</node>
         2164  +	<node id="340138558" lat="41.8470257" lon="8.9577947" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2165  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2166  +	</node>
         2167  +	<node id="340138559" lat="41.8471987" lon="8.9579831" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2168  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2169  +	</node>
         2170  +	<node id="340138560" lat="41.8479995" lon="8.9580853" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2171  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2172  +	</node>
         2173  +	<node id="340138561" lat="41.8480511" lon="8.9586585" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2174  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2175  +	</node>
         2176  +	<node id="340138562" lat="41.8479481" lon="8.9589696" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2177  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2178  +	</node>
         2179  +	<node id="340138563" lat="41.8482770" lon="8.9591552" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2180  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2181  +	</node>
         2182  +	<node id="340138564" lat="41.8486609" lon="8.9596115" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2183  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2184  +	</node>
         2185  +	<node id="340138565" lat="41.8503775" lon="8.9592979" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2186  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2187  +	</node>
         2188  +	<node id="340138566" lat="41.8509002" lon="8.9593143" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2189  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2190  +	</node>
         2191  +	<node id="340138567" lat="41.8517575" lon="8.9589302" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2192  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2193  +	</node>
         2194  +	<node id="340138568" lat="41.8519132" lon="8.9591736" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2195  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2196  +	</node>
         2197  +	<node id="340138569" lat="41.8524931" lon="8.9594232" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2198  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2199  +	</node>
         2200  +	<node id="340138570" lat="41.8532094" lon="8.9597627" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2201  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2202  +	</node>
         2203  +	<node id="340138571" lat="41.8537902" lon="8.9602395" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2204  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2205  +	</node>
         2206  +	<node id="340138572" lat="41.8539470" lon="8.9604641" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:39Z">
         2207  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2208  +	</node>
         2209  +	<node id="340138576" lat="41.8542543" lon="8.9605339" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:40Z">
         2210  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2211  +	</node>
         2212  +	<node id="340138577" lat="41.8552520" lon="8.9606566" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:40Z">
         2213  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2214  +	</node>
         2215  +	<node id="340138578" lat="41.8554155" lon="8.9606691" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:23Z">
         2216  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2217  +	</node>
         2218  +	<node id="340138579" lat="41.8554076" lon="8.9603989" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2219  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2220  +	</node>
         2221  +	<node id="340138580" lat="41.8550371" lon="8.9599123" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2222  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2223  +	</node>
         2224  +	<node id="340138581" lat="41.8551636" lon="8.9597988" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:11Z">
         2225  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2226  +	</node>
         2227  +	<node id="340138582" lat="41.8557101" lon="8.9598483" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2228  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2229  +	</node>
         2230  +	<node id="340138583" lat="41.8568903" lon="8.9603120" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2231  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2232  +	</node>
         2233  +	<node id="340138584" lat="41.8577752" lon="8.9602415" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2234  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2235  +	</node>
         2236  +	<node id="340138585" lat="41.8580629" lon="8.9603313" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2237  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2238  +	</node>
         2239  +	<node id="340138586" lat="41.8583049" lon="8.9600450" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2240  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2241  +	</node>
         2242  +	<node id="340138587" lat="41.8589466" lon="8.9599344" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:29Z">
         2243  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2244  +	</node>
         2245  +	<node id="340138588" lat="41.8590878" lon="8.9600766" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:29Z">
         2246  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2247  +	</node>
         2248  +	<node id="340138589" lat="41.8595705" lon="8.9598797" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2249  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2250  +	</node>
         2251  +	<node id="340138590" lat="41.8598083" lon="8.9600369" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:22Z">
         2252  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2253  +	</node>
         2254  +	<node id="340138591" lat="41.8602648" lon="8.9595099" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2255  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2256  +	</node>
         2257  +	<node id="340138592" lat="41.8604942" lon="8.9596041" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2258  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2259  +	</node>
         2260  +	<node id="340138593" lat="41.8607358" lon="8.9599115" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2261  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2262  +	</node>
         2263  +	<node id="340138594" lat="41.8609793" lon="8.9600463" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2264  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2265  +	</node>
         2266  +	<node id="340138595" lat="41.8612194" lon="8.9602245" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:30Z">
         2267  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2268  +	</node>
         2269  +	<node id="340138596" lat="41.8614306" lon="8.9599826" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:30Z">
         2270  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2271  +	</node>
         2272  +	<node id="340138597" lat="41.8617064" lon="8.9596790" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2273  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2274  +	</node>
         2275  +	<node id="340138598" lat="41.8621878" lon="8.9597487" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:23Z">
         2276  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2277  +	</node>
         2278  +	<node id="340138599" lat="41.8623344" lon="8.9598984" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2279  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2280  +	</node>
         2281  +	<node id="340138600" lat="41.8632374" lon="8.9605146" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2282  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2283  +	</node>
         2284  +	<node id="340138601" lat="41.8634007" lon="8.9606989" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:11Z">
         2285  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2286  +	</node>
         2287  +	<node id="340138602" lat="41.8636208" lon="8.9601275" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2288  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2289  +	</node>
         2290  +	<node id="340138603" lat="41.8637337" lon="8.9596479" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2291  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2292  +	</node>
         2293  +	<node id="340138604" lat="41.8635873" lon="8.9587146" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2294  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2295  +	</node>
         2296  +	<node id="340138605" lat="41.8630314" lon="8.9565320" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:30Z">
         2297  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2298  +	</node>
         2299  +	<node id="340138606" lat="41.8628986" lon="8.9553084" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2300  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2301  +	</node>
         2302  +	<node id="340138607" lat="41.8628336" lon="8.9543932" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:29Z">
         2303  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2304  +	</node>
         2305  +	<node id="340138608" lat="41.8632108" lon="8.9544105" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2306  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2307  +	</node>
         2308  +	<node id="340138609" lat="41.8634249" lon="8.9538623" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:29Z">
         2309  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2310  +	</node>
         2311  +	<node id="340138610" lat="41.8633914" lon="8.9531913" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2312  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2313  +	</node>
         2314  +	<node id="340138611" lat="41.8636505" lon="8.9527862" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:11Z">
         2315  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2316  +	</node>
         2317  +	<node id="340138612" lat="41.8638575" lon="8.9528223" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:22Z">
         2318  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2319  +	</node>
         2320  +	<node id="340138613" lat="41.8640221" lon="8.9531577" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2321  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2322  +	</node>
         2323  +	<node id="340138614" lat="41.8642380" lon="8.9532847" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2324  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2325  +	</node>
         2326  +	<node id="340138615" lat="41.8645883" lon="8.9527829" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2327  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2328  +	</node>
         2329  +	<node id="340138616" lat="41.8649141" lon="8.9523929" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2330  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2331  +	</node>
         2332  +	<node id="340138617" lat="41.8563418" lon="8.9602613" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2333  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2334  +	</node>
         2335  +	<node id="340138618" lat="41.8649994" lon="8.9519103" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:29Z">
         2336  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2337  +	</node>
         2338  +	<node id="340138619" lat="41.8650043" lon="8.9513062" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2339  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2340  +	</node>
         2341  +	<node id="340138620" lat="41.8653937" lon="8.9506525" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2342  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2343  +	</node>
         2344  +	<node id="340138621" lat="41.8654153" lon="8.9506300" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:22Z">
         2345  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2346  +	</node>
         2347  +	<node id="340138622" lat="41.8659332" lon="8.9505527" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2348  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2349  +	</node>
         2350  +	<node id="340138623" lat="41.8660853" lon="8.9504610" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2351  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2352  +	</node>
         2353  +	<node id="340138624" lat="41.8661697" lon="8.9499100" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2354  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2355  +	</node>
         2356  +	<node id="340138625" lat="41.8662080" lon="8.9496335" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:11Z">
         2357  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2358  +	</node>
         2359  +	<node id="340138626" lat="41.8663700" lon="8.9491537" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2360  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2361  +	</node>
         2362  +	<node id="340138627" lat="41.8665998" lon="8.9488453" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2363  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2364  +	</node>
         2365  +	<node id="340138628" lat="41.8669055" lon="8.9478952" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2366  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2367  +	</node>
         2368  +	<node id="340138629" lat="41.8667478" lon="8.9475925" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2369  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2370  +	</node>
         2371  +	<node id="340138630" lat="41.8666338" lon="8.9473507" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2372  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2373  +	</node>
         2374  +	<node id="340138631" lat="41.8665892" lon="8.9469603" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:29Z">
         2375  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2376  +	</node>
         2377  +	<node id="340138632" lat="41.8662710" lon="8.9463628" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:30Z">
         2378  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2379  +	</node>
         2380  +	<node id="340138633" lat="41.8662438" lon="8.9462431" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2381  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2382  +	</node>
         2383  +	<node id="340138634" lat="41.8666024" lon="8.9457230" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:22Z">
         2384  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2385  +	</node>
         2386  +	<node id="340138635" lat="41.8666121" lon="8.9452626" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2387  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2388  +	</node>
         2389  +	<node id="340138636" lat="41.8666881" lon="8.9451376" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2390  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2391  +	</node>
         2392  +	<node id="340138637" lat="41.8672497" lon="8.9449804" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2393  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2394  +	</node>
         2395  +	<node id="340138638" lat="41.8677008" lon="8.9449812" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2396  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2397  +	</node>
         2398  +	<node id="340138639" lat="41.8681722" lon="8.9445311" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2399  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2400  +	</node>
         2401  +	<node id="340138640" lat="41.8683651" lon="8.9444414" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2402  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2403  +	</node>
         2404  +	<node id="340138641" lat="41.8687277" lon="8.9446737" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2405  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2406  +	</node>
         2407  +	<node id="340138642" lat="41.8689701" lon="8.9446547" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:30Z">
         2408  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2409  +	</node>
         2410  +	<node id="340138643" lat="41.8690170" lon="8.9444589" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2411  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2412  +	</node>
         2413  +	<node id="340138644" lat="41.8692063" lon="8.9443302" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2414  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2415  +	</node>
         2416  +	<node id="340138645" lat="41.8693436" lon="8.9444203" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:22Z">
         2417  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2418  +	</node>
         2419  +	<node id="340138646" lat="41.8697973" lon="8.9442398" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2420  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2421  +	</node>
         2422  +	<node id="340138649" lat="41.8698052" lon="8.9440008" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:05Z">
         2423  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2424  +	</node>
         2425  +	<node id="340138651" lat="41.8699835" lon="8.9435893" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:30Z">
         2426  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2427  +	</node>
         2428  +	<node id="340138652" lat="41.8701569" lon="8.9431261" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:30Z">
         2429  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2430  +	</node>
         2431  +	<node id="340138653" lat="41.8703560" lon="8.9426892" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2432  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2433  +	</node>
         2434  +	<node id="340138654" lat="41.8705146" lon="8.9421610" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:29Z">
         2435  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2436  +	</node>
         2437  +	<node id="340138655" lat="41.8705328" lon="8.9415400" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2438  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2439  +	</node>
         2440  +	<node id="340138656" lat="41.8705620" lon="8.9411136" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:22Z">
         2441  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2442  +	</node>
         2443  +	<node id="340138657" lat="41.8707914" lon="8.9406564" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2444  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2445  +	</node>
         2446  +	<node id="340138658" lat="41.8709906" lon="8.9403330" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2447  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2448  +	</node>
         2449  +	<node id="340138659" lat="41.8712107" lon="8.9402317" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2450  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2451  +	</node>
         2452  +	<node id="340138660" lat="41.8722616" lon="8.9399976" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2453  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2454  +	</node>
         2455  +	<node id="340138665" lat="41.8725969" lon="8.9397054" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:22Z">
         2456  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2457  +	</node>
         2458  +	<node id="340138669" lat="41.8727214" lon="8.9397211" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:34Z">
         2459  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2460  +	</node>
         2461  +	<node id="340138673" lat="41.8731658" lon="8.9397704" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:30Z">
         2462  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2463  +	</node>
         2464  +	<node id="340138677" lat="41.8735505" lon="8.9397298" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2465  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2466  +	</node>
         2467  +	<node id="340138681" lat="41.8737807" lon="8.9394137" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2468  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2469  +	</node>
         2470  +	<node id="340138684" lat="41.8742241" lon="8.9394430" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2471  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2472  +	</node>
         2473  +	<node id="340138686" lat="41.8744585" lon="8.9393851" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2474  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2475  +	</node>
         2476  +	<node id="340138687" lat="41.8753463" lon="8.9392939" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:11Z">
         2477  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2478  +	</node>
         2479  +	<node id="340138688" lat="41.8755798" lon="8.9393103" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:08Z">
         2480  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2481  +	</node>
         2482  +	<node id="340138689" lat="41.8754086" lon="8.9385250" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:23Z">
         2483  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2484  +	</node>
         2485  +	<node id="340138690" lat="41.8752902" lon="8.9384294" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:07Z">
         2486  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2487  +	</node>
         2488  +	<node id="340138691" lat="41.8751224" lon="8.9381594" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:11Z">
         2489  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2490  +	</node>
         2491  +	<node id="340138692" lat="41.8749282" lon="8.9376996" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:11Z">
         2492  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2493  +	</node>
         2494  +	<node id="340138693" lat="41.8748714" lon="8.9373557" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:06Z">
         2495  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2496  +	</node>
         2497  +	<node id="340138694" lat="41.8746766" lon="8.9363664" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:10Z">
         2498  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2499  +	</node>
         2500  +	<node id="340138695" lat="41.8745679" lon="8.9360351" version="2" changeset="3141387" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:18:46Z">
         2501  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2502  +	</node>
         2503  +	<node id="340138696" lat="41.8744463" lon="8.9357654" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:31Z">
         2504  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2505  +	</node>
         2506  +	<node id="340138697" lat="41.8743757" lon="8.9354951" version="3" changeset="5727598" user="Pieren" uid="17286" timestamp="2010-09-08T20:13:09Z">
         2507  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2508  +	</node>
         2509  +	<node id="340138698" lat="41.8743217" lon="8.9349331" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:16Z">
         2510  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2511  +	</node>
         2512  +	<node id="340138699" lat="41.8741985" lon="8.9344662" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:55Z">
         2513  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2514  +	</node>
         2515  +	<node id="340138700" lat="41.8741991" lon="8.9342099" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:55Z">
         2516  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2517  +	</node>
         2518  +	<node id="340138701" lat="41.8746361" lon="8.9343370" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:02Z">
         2519  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2520  +	</node>
         2521  +	<node id="340138702" lat="41.8748036" lon="8.9339707" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2522  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2523  +	</node>
         2524  +	<node id="340138703" lat="41.8749355" lon="8.9338559" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2525  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2526  +	</node>
         2527  +	<node id="340138704" lat="41.8752216" lon="8.9336042" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2528  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2529  +	</node>
         2530  +	<node id="340138705" lat="41.8756944" lon="8.9334017" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2531  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2532  +	</node>
         2533  +	<node id="340138706" lat="41.8763988" lon="8.9331051" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:19Z">
         2534  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2535  +	</node>
         2536  +	<node id="340138707" lat="41.8766657" lon="8.9329167" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2537  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2538  +	</node>
         2539  +	<node id="340138709" lat="41.8775591" lon="8.9325425" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:17Z">
         2540  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2541  +	</node>
         2542  +	<node id="340138710" lat="41.8777501" lon="8.9324530" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:55Z">
         2543  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2544  +	</node>
         2545  +	<node id="340138711" lat="41.8780250" lon="8.9324511" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:02Z">
         2546  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2547  +	</node>
         2548  +	<node id="340138712" lat="41.8784643" lon="8.9326986" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:04Z">
         2549  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2550  +	</node>
         2551  +	<node id="340138714" lat="41.8792545" lon="8.9328224" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2552  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2553  +	</node>
         2554  +	<node id="340138715" lat="41.8797071" lon="8.9328864" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:20Z">
         2555  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2556  +	</node>
         2557  +	<node id="340138716" lat="41.8797579" lon="8.9327355" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:21Z">
         2558  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2559  +	</node>
         2560  +	<node id="340138717" lat="41.8797331" lon="8.9323280" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2561  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2562  +	</node>
         2563  +	<node id="340138718" lat="41.8794033" lon="8.9315255" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2564  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2565  +	</node>
         2566  +	<node id="340138719" lat="41.8790393" lon="8.9308813" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:56Z">
         2567  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2568  +	</node>
         2569  +	<node id="340138720" lat="41.8790076" lon="8.9308085" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:16Z">
         2570  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2571  +	</node>
         2572  +	<node id="340138721" lat="41.8789253" lon="8.9305084" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:55Z">
         2573  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2574  +	</node>
         2575  +	<node id="340138722" lat="41.8788622" lon="8.9304540" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2576  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2577  +	</node>
         2578  +	<node id="340138723" lat="41.8786215" lon="8.9305862" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:52Z">
         2579  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2580  +	</node>
         2581  +	<node id="340138724" lat="41.8785069" lon="8.9306187" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2582  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2583  +	</node>
         2584  +	<node id="340138725" lat="41.8782758" lon="8.9304729" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2585  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2586  +	</node>
         2587  +	<node id="340138726" lat="41.8781535" lon="8.9300039" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:19Z">
         2588  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2589  +	</node>
         2590  +	<node id="340138727" lat="41.8778628" lon="8.9294137" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2591  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2592  +	</node>
         2593  +	<node id="340138728" lat="41.8773669" lon="8.9283155" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2594  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2595  +	</node>
         2596  +	<node id="340138729" lat="41.8770912" lon="8.9275792" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:16Z">
         2597  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2598  +	</node>
         2599  +	<node id="340138730" lat="41.8772055" lon="8.9272799" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:55Z">
         2600  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2601  +	</node>
         2602  +	<node id="340138731" lat="41.8772621" lon="8.9269586" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:02Z">
         2603  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2604  +	</node>
         2605  +	<node id="340138732" lat="41.8774556" lon="8.9263105" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:04Z">
         2606  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2607  +	</node>
         2608  +	<node id="340138733" lat="41.8777929" lon="8.9255445" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2609  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2610  +	</node>
         2611  +	<node id="340138734" lat="41.8779249" lon="8.9251590" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2612  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2613  +	</node>
         2614  +	<node id="340138735" lat="41.8779462" lon="8.9250534" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:19Z">
         2615  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2616  +	</node>
         2617  +	<node id="340138736" lat="41.8779108" lon="8.9243052" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2618  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2619  +	</node>
         2620  +	<node id="340138737" lat="41.8780081" lon="8.9217902" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:20Z">
         2621  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2622  +	</node>
         2623  +	<node id="340138738" lat="41.8795621" lon="8.9164811" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2624  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2625  +	</node>
         2626  +	<node id="340138739" lat="41.8799855" lon="8.9149994" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:17Z">
         2627  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2628  +	</node>
         2629  +	<node id="340138740" lat="41.8786911" lon="8.9119275" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2630  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2631  +	</node>
         2632  +	<node id="340138741" lat="41.8764445" lon="8.9077791" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:56Z">
         2633  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2634  +	</node>
         2635  +	<node id="340138742" lat="41.8763916" lon="8.9076407" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:04Z">
         2636  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2637  +	</node>
         2638  +	<node id="340138743" lat="41.8764165" lon="8.9074587" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2639  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2640  +	</node>
         2641  +	<node id="340138744" lat="41.8767075" lon="8.9069795" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:54Z">
         2642  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2643  +	</node>
         2644  +	<node id="340138745" lat="41.8769717" lon="8.9062823" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2645  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2646  +	</node>
         2647  +	<node id="340138746" lat="41.8771761" lon="8.9049113" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:21Z">
         2648  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2649  +	</node>
         2650  +	<node id="340138748" lat="41.8770615" lon="8.9041074" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2651  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2652  +	</node>
         2653  +	<node id="340138754" lat="41.8771818" lon="8.9033918" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:56Z">
         2654  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2655  +	</node>
         2656  +	<node id="340138761" lat="41.8770461" lon="8.9023402" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2657  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2658  +	</node>
         2659  +	<node id="340138771" lat="41.8771271" lon="8.9021194" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2660  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2661  +	</node>
         2662  +	<node id="340138778" lat="41.8779612" lon="8.9012030" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:02Z">
         2663  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2664  +	</node>
         2665  +	<node id="340138787" lat="41.8780390" lon="8.9008234" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:54Z">
         2666  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2667  +	</node>
         2668  +	<node id="340138794" lat="41.8783929" lon="8.9005982" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2669  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2670  +	</node>
         2671  +	<node id="340138801" lat="41.8786270" lon="8.9000317" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:52Z">
         2672  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2673  +	</node>
         2674  +	<node id="340138808" lat="41.8788042" lon="8.8999979" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:56Z">
         2675  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2676  +	</node>
         2677  +	<node id="340138813" lat="41.8790081" lon="8.8996140" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:20Z">
         2678  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2679  +	</node>
         2680  +	<node id="340138823" lat="41.8801479" lon="8.8988820" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2681  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2682  +	</node>
         2683  +	<node id="340138829" lat="41.8814255" lon="8.8966598" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2684  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2685  +	</node>
         2686  +	<node id="340138839" lat="41.8821896" lon="8.8970176" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2687  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2688  +	</node>
         2689  +	<node id="340138843" lat="41.8823949" lon="8.8968699" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:54Z">
         2690  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2691  +	</node>
         2692  +	<node id="340138848" lat="41.8824553" lon="8.8963310" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:20Z">
         2693  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2694  +	</node>
         2695  +	<node id="340138852" lat="41.8826686" lon="8.8960444" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:56Z">
         2696  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2697  +	</node>
         2698  +	<node id="340138855" lat="41.8831370" lon="8.8955638" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2699  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2700  +	</node>
         2701  +	<node id="340138859" lat="41.8835851" lon="8.8949893" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2702  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2703  +	</node>
         2704  +	<node id="340138867" lat="41.8835236" lon="8.8941406" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:21Z">
         2705  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2706  +	</node>
         2707  +	<node id="340138873" lat="41.8836220" lon="8.8930890" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:16Z">
         2708  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2709  +	</node>
         2710  +	<node id="340138877" lat="41.8837092" lon="8.8928301" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2711  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2712  +	</node>
         2713  +	<node id="340138882" lat="41.8843992" lon="8.8922101" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2714  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2715  +	</node>
         2716  +	<node id="340138886" lat="41.8843640" lon="8.8919430" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:16Z">
         2717  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2718  +	</node>
         2719  +	<node id="340138904" lat="41.8834347" lon="8.8916263" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:21Z">
         2720  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2721  +	</node>
         2722  +	<node id="340138908" lat="41.8838216" lon="8.8899153" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2723  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2724  +	</node>
         2725  +	<node id="340138913" lat="41.8838185" lon="8.8897282" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2726  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2727  +	</node>
         2728  +	<node id="340138919" lat="41.8836063" lon="8.8895776" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:02Z">
         2729  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2730  +	</node>
         2731  +	<node id="340138926" lat="41.8834346" lon="8.8893095" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:17Z">
         2732  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2733  +	</node>
         2734  +	<node id="340138930" lat="41.8830703" lon="8.8896570" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:02Z">
         2735  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2736  +	</node>
         2737  +	<node id="340138931" lat="41.8827255" lon="8.8895036" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2738  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2739  +	</node>
         2740  +	<node id="340138932" lat="41.8825971" lon="8.8889822" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:54Z">
         2741  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2742  +	</node>
         2743  +	<node id="340138933" lat="41.8832218" lon="8.8880443" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2744  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2745  +	</node>
         2746  +	<node id="340138935" lat="41.8843709" lon="8.8883965" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2747  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2748  +	</node>
         2749  +	<node id="340138936" lat="41.8843949" lon="8.8877089" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2750  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2751  +	</node>
         2752  +	<node id="340138937" lat="41.8847173" lon="8.8865574" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2753  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2754  +	</node>
         2755  +	<node id="340138938" lat="41.8846451" lon="8.8861959" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:56Z">
         2756  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2757  +	</node>
         2758  +	<node id="340138939" lat="41.8843739" lon="8.8858668" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:05Z">
         2759  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2760  +	</node>
         2761  +	<node id="340138940" lat="41.8844830" lon="8.8855094" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:05Z">
         2762  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2763  +	</node>
         2764  +	<node id="340138942" lat="41.8851104" lon="8.8850459" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2765  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2766  +	</node>
         2767  +	<node id="340138943" lat="41.8853173" lon="8.8845536" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:52Z">
         2768  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2769  +	</node>
         2770  +	<node id="340138944" lat="41.8858823" lon="8.8838731" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:04Z">
         2771  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2772  +	</node>
         2773  +	<node id="340138945" lat="41.8862385" lon="8.8839079" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:54Z">
         2774  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2775  +	</node>
         2776  +	<node id="340138946" lat="41.8865313" lon="8.8834550" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2777  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2778  +	</node>
         2779  +	<node id="340138947" lat="41.8867606" lon="8.8832574" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:20Z">
         2780  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2781  +	</node>
         2782  +	<node id="340138948" lat="41.8865455" lon="8.8822759" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:21Z">
         2783  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2784  +	</node>
         2785  +	<node id="340138949" lat="41.8865524" lon="8.8821306" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2786  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2787  +	</node>
         2788  +	<node id="340138951" lat="41.8867372" lon="8.8817652" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:56Z">
         2789  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2790  +	</node>
         2791  +	<node id="340138952" lat="41.8867000" lon="8.8814158" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2792  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2793  +	</node>
         2794  +	<node id="340138953" lat="41.8865653" lon="8.8811823" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:05Z">
         2795  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2796  +	</node>
         2797  +	<node id="340138954" lat="41.8863548" lon="8.8809633" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:54Z">
         2798  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2799  +	</node>
         2800  +	<node id="340138955" lat="41.8861265" lon="8.8807982" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2801  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2802  +	</node>
         2803  +	<node id="340138956" lat="41.8860579" lon="8.8804888" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2804  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2805  +	</node>
         2806  +	<node id="340138958" lat="41.8865975" lon="8.8799012" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2807  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2808  +	</node>
         2809  +	<node id="340138962" lat="41.8865973" lon="8.8796781" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2810  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2811  +	</node>
         2812  +	<node id="340138963" lat="41.8870606" lon="8.8792389" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:05Z">
         2813  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2814  +	</node>
         2815  +	<node id="340138968" lat="41.8873611" lon="8.8787075" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2816  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2817  +	</node>
         2818  +	<node id="340138973" lat="41.8866628" lon="8.8782008" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:17Z">
         2819  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2820  +	</node>
         2821  +	<node id="340138979" lat="41.8864349" lon="8.8779318" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2822  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2823  +	</node>
         2824  +	<node id="340138983" lat="41.8862061" lon="8.8775576" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:05Z">
         2825  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2826  +	</node>
         2827  +	<node id="340138989" lat="41.8861773" lon="8.8772764" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2828  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2829  +	</node>
         2830  +	<node id="340138994" lat="41.8859263" lon="8.8765882" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:16Z">
         2831  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2832  +	</node>
         2833  +	<node id="340139000" lat="41.8855948" lon="8.8759844" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2834  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2835  +	</node>
         2836  +	<node id="340139001" lat="41.8855642" lon="8.8753884" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:20Z">
         2837  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2838  +	</node>
         2839  +	<node id="340139002" lat="41.8877121" lon="8.8715035" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2840  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2841  +	</node>
         2842  +	<node id="340139004" lat="41.8871740" lon="8.8685665" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2843  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2844  +	</node>
         2845  +	<node id="340139007" lat="41.8874081" lon="8.8620125" version="2" changeset="3141405" user="EtienneChoveBot" uid="183561" timestamp="2009-11-17T14:20:31Z">
         2846  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2847  +	</node>
         2848  +	<node id="340139010" lat="41.8876646" lon="8.8592895" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:02Z">
         2849  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2850  +	</node>
         2851  +	<node id="340139011" lat="41.8872348" lon="8.8586115" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2852  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2853  +	</node>
         2854  +	<node id="340139012" lat="41.8871299" lon="8.8585397" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:53Z">
         2855  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2856  +	</node>
         2857  +	<node id="340139013" lat="41.8867214" lon="8.8580332" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2858  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2859  +	</node>
         2860  +	<node id="340139014" lat="41.8864066" lon="8.8582167" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:20Z">
         2861  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2862  +	</node>
         2863  +	<node id="340139015" lat="41.8859153" lon="8.8577461" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2864  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2865  +	</node>
         2866  +	<node id="340139016" lat="41.8857335" lon="8.8575878" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2867  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2868  +	</node>
         2869  +	<node id="340139017" lat="41.8854413" lon="8.8571725" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:17Z">
         2870  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2871  +	</node>
         2872  +	<node id="340139018" lat="41.8846531" lon="8.8568887" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:56Z">
         2873  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2874  +	</node>
         2875  +	<node id="340139019" lat="41.8843214" lon="8.8562955" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:04Z">
         2876  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2877  +	</node>
         2878  +	<node id="340139020" lat="41.8838018" lon="8.8559095" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:05Z">
         2879  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2880  +	</node>
         2881  +	<node id="340139021" lat="41.8828317" lon="8.8553617" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:54Z">
         2882  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2883  +	</node>
         2884  +	<node id="340139022" lat="41.8823654" lon="8.8554981" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2885  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2886  +	</node>
         2887  +	<node id="340139023" lat="41.8822476" lon="8.8556334" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:21Z">
         2888  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2889  +	</node>
         2890  +	<node id="340139024" lat="41.8818908" lon="8.8559451" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2891  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2892  +	</node>
         2893  +	<node id="340139025" lat="41.8816478" lon="8.8559511" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:21Z">
         2894  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2895  +	</node>
         2896  +	<node id="340139026" lat="41.8814285" lon="8.8560752" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:58Z">
         2897  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2898  +	</node>
         2899  +	<node id="340139027" lat="41.8808782" lon="8.8568173" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2900  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2901  +	</node>
         2902  +	<node id="340139028" lat="41.8808716" lon="8.8576344" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:18Z">
         2903  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2904  +	</node>
         2905  +	<node id="340139029" lat="41.8803937" lon="8.8581449" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2906  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2907  +	</node>
         2908  +	<node id="340139030" lat="41.8799659" lon="8.8583239" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:05Z">
         2909  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2910  +	</node>
         2911  +	<node id="340139031" lat="41.8795509" lon="8.8591756" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:54Z">
         2912  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2913  +	</node>
         2914  +	<node id="340139032" lat="41.8791501" lon="8.8593860" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:55Z">
         2915  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2916  +	</node>
         2917  +	<node id="340139033" lat="41.8780877" lon="8.8582903" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2918  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2919  +	</node>
         2920  +	<node id="340139034" lat="41.8777463" lon="8.8582519" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:52Z">
         2921  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2922  +	</node>
         2923  +	<node id="340139035" lat="41.8773463" lon="8.8580629" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2924  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2925  +	</node>
         2926  +	<node id="340139036" lat="41.8767008" lon="8.8580021" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:59Z">
         2927  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2928  +	</node>
         2929  +	<node id="340139037" lat="41.8763339" lon="8.8583237" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:19Z">
         2930  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2931  +	</node>
         2932  +	<node id="340139038" lat="41.8758957" lon="8.8583387" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:43:57Z">
         2933  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2934  +	</node>
         2935  +	<node id="340139043" lat="41.8755237" lon="8.8584560" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:00Z">
         2936  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2937  +	</node>
         2938  +	<node id="340139044" lat="41.8752663" lon="8.8580900" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:01Z">
         2939  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2940  +	</node>
         2941  +	<node id="340139045" lat="41.8749849" lon="8.8581272" version="3" changeset="5727930" user="Pieren" uid="17286" timestamp="2010-09-08T20:44:21Z">
         2942  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009" />
         2943  +	</node>
         2944  +	<node id="670063590" lat="42.8069921" lon="9.3613074" version="1" changeset="4174714" user="Eric S" uid="45284" timestamp="2010-03-19T23:13:27Z">
         2945  +		<tag k="description" v="Plaquette géodésique : Centre - Point vu en place en 1978" />
         2946  +		<tag k="ele" v="435.17" />
         2947  +		<tag k="man_made" v="survey_point" />
         2948  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         2949  +		<tag k="ref" v="2B17803 - A" />
         2950  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         2951  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B17803&#38;no_ptg=01&#38;numero_f50=4348" />
         2952  +	</node>
         2953  +	<node id="670063591" lat="42.8069247" lon="9.3613471" version="1" changeset="4174714" user="Eric S" uid="45284" timestamp="2010-03-19T23:13:27Z">
         2954  +		<tag k="description" v="Rocher : Repère bronze PM - Point vu en place en 1978" />
         2955  +		<tag k="ele" v="432.23" />
         2956  +		<tag k="man_made" v="survey_point" />
         2957  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         2958  +		<tag k="ref" v="2B17803 - B" />
         2959  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         2960  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B17803&#38;no_ptg=02&#38;numero_f50=4348" />
         2961  +	</node>
         2962  +	<node id="670063592" lat="42.8069521" lon="9.3612712" version="1" changeset="4174714" user="Eric S" uid="45284" timestamp="2010-03-19T23:13:27Z">
         2963  +		<tag k="description" v="Rocher : Tige de fer - Point vu en place en 1978" />
         2964  +		<tag k="ele" v="434.51" />
         2965  +		<tag k="man_made" v="survey_point" />
         2966  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         2967  +		<tag k="ref" v="2B17803 - C" />
         2968  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         2969  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B17803&#38;no_ptg=03&#38;numero_f50=4348" />
         2970  +	</node>
         2971  +	<node id="670063593" lat="42.8070090" lon="9.3613409" version="1" changeset="4174714" user="Eric S" uid="45284" timestamp="2010-03-19T23:13:27Z">
         2972  +		<tag k="description" v="Rocher : Rivet en fer - Point vu en place en 1978" />
         2973  +		<tag k="ele" v="436" />
         2974  +		<tag k="man_made" v="survey_point" />
         2975  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         2976  +		<tag k="ref" v="2B17803 - D" />
         2977  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         2978  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B17803&#38;no_ptg=04&#38;numero_f50=4348" />
         2979  +	</node>
         2980  +	<node id="670063594" lat="42.3004079" lon="9.4011263" version="2" changeset="4184201" user="xybot" uid="70696" timestamp="2010-03-20T20:37:48Z">
         2981  +		<tag k="description" v="Rocher : Rivet en fer Est - Point vu en place en 1948" />
         2982  +		<tag k="ele" v="1266.51" />
         2983  +		<tag k="man_made" v="survey_point" />
         2984  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         2985  +		<tag k="ref" v="2B17901 -" />
         2986  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         2987  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B17901&#38;no_ptg=01&#38;numero_f50=4350" />
         2988  +	</node>
         2989  +	<node id="670063595" lat="42.3004321" lon="9.4010972" version="1" changeset="4174714" user="Eric S" uid="45284" timestamp="2010-03-19T23:13:27Z">
         2990  +		<tag k="description" v="Rocher : Rivet en fer Ouest - Point vu en place en 1948" />
         2991  +		<tag k="ele" v="1266.67" />
         2992  +		<tag k="man_made" v="survey_point" />
         2993  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         2994  +		<tag k="ref" v="2B17901 - A" />
         2995  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         2996  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B17901&#38;no_ptg=02&#38;numero_f50=4350" />
         2997  +	</node>
         2998  +	<node id="670063596" lat="42.3099435" lon="9.4145124" version="2" changeset="4184201" user="xybot" uid="70696" timestamp="2010-03-20T20:37:48Z">
         2999  +		<tag k="description" v="Clocher : Centre boule - Point vu en place en 2004" />
         3000  +		<tag k="ele" v="628.7" />
         3001  +		<tag k="man_made" v="survey_point" />
         3002  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         3003  +		<tag k="ref" v="2B179A -" />
         3004  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         3005  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B179A&#38;no_ptg=01&#38;numero_f50=4350" />
         3006  +	</node>
         3007  +	<node id="670063597" lat="42.5765876" lon="9.0803628" version="2" changeset="4184201" user="xybot" uid="70696" timestamp="2010-03-20T20:37:49Z">
         3008  +		<tag k="description" v="Borne en granit gravée IGN 1951, au ras du sol - Point vu en place en 1959" />
         3009  +		<tag k="ele" v="819.9" />
         3010  +		<tag k="man_made" v="survey_point" />
         3011  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         3012  +		<tag k="ref" v="2B18001 -" />
         3013  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         3014  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B18001&#38;no_ptg=01&#38;numero_f50=4249" />
         3015  +	</node>
         3016  +	<node id="670063598" lat="42.5765962" lon="9.0803679" version="1" changeset="4174714" user="Eric S" uid="45284" timestamp="2010-03-19T23:13:27Z">
         3017  +		<tag k="description" v="Rocher : Repère bronze GM scellé Nord - Point vu en place en 1959" />
         3018  +		<tag k="ele" v="820.12" />
         3019  +		<tag k="man_made" v="survey_point" />
         3020  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         3021  +		<tag k="ref" v="2B18001 - A" />
         3022  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         3023  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B18001&#38;no_ptg=02&#38;numero_f50=4249" />
         3024  +	</node>
         3025  +	<node id="670063599" lat="42.5765782" lon="9.0803634" version="1" changeset="4174714" user="Eric S" uid="45284" timestamp="2010-03-19T23:13:27Z">
         3026  +		<tag k="description" v="Rocher : Repère bronze GM scellé Sud - Point vu en place en 1959" />
         3027  +		<tag k="ele" v="820.13" />
         3028  +		<tag k="man_made" v="survey_point" />
         3029  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         3030  +		<tag k="ref" v="2B18001 - B" />
         3031  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         3032  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B18001&#38;no_ptg=03&#38;numero_f50=4249" />
         3033  +	</node>
         3034  +	<node id="670063600" lat="42.5765884" lon="9.0803408" version="1" changeset="4174714" user="Eric S" uid="45284" timestamp="2010-03-19T23:13:27Z">
         3035  +		<tag k="description" v="Rocher : Repère en fer scellé Ouest - Point vu en place en 1959" />
         3036  +		<tag k="ele" v="819.84" />
         3037  +		<tag k="man_made" v="survey_point" />
         3038  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         3039  +		<tag k="ref" v="2B18001 - C" />
         3040  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         3041  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B18001&#38;no_ptg=04&#38;numero_f50=4249" />
         3042  +	</node>
         3043  +	<node id="670063601" lat="42.6345901" lon="9.1033617" version="2" changeset="4184201" user="xybot" uid="70696" timestamp="2010-03-20T20:37:49Z">
         3044  +		<tag k="description" v="Borne en granit gravée IGN 1957 - Point vu en place en 1978" />
         3045  +		<tag k="ele" v="238.96" />
         3046  +		<tag k="man_made" v="survey_point" />
         3047  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         3048  +		<tag k="ref" v="2B18002 -" />
         3049  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         3050  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B18002&#38;no_ptg=01&#38;numero_f50=4249" />
         3051  +	</node>
         3052  +	<node id="670063602" lat="42.6074666" lon="9.1147003" version="2" changeset="4184201" user="xybot" uid="70696" timestamp="2010-03-20T20:37:50Z">
         3053  +		<tag k="description" v="Borne en granit gravée IGN et 1957 - Point vu en place en 1959" />
         3054  +		<tag k="ele" v="361.96" />
         3055  +		<tag k="man_made" v="survey_point" />
         3056  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         3057  +		<tag k="ref" v="2B18003 -" />
         3058  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         3059  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B18003&#38;no_ptg=01&#38;numero_f50=4249" />
         3060  +	</node>
         3061  +	<node id="670063603" lat="42.5785755" lon="9.1276855" version="2" changeset="4184201" user="xybot" uid="70696" timestamp="2010-03-20T20:37:51Z">
         3062  +		<tag k="description" v="Borne en granit gravée IGN et 1957 - Point vu en place en 1959" />
         3063  +		<tag k="ele" v="652.04" />
         3064  +		<tag k="man_made" v="survey_point" />
         3065  +		<tag k="note" v="Ne pas déplacer ce point, cf. - Do not move this node, see - http://wiki.openstreetmap.org/wiki/WikiProject_France/Repères_Géodésiques#Permanence_des_rep.C3.A8res" />
         3066  +		<tag k="ref" v="2B18004 -" />
         3067  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         3068  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_point.asp?num_site=2B18004&#38;no_ptg=01&#38;numero_f50=4249" />
         3069  +	</node>
         3070  +	<way id="41082246" version="1" changeset="2528186" uid="44329" user="aikon" timestamp="2009-09-18T21:13:26Z">
         3071  +		<nd ref="500895000"/>
         3072  +		<nd ref="500895003"/>
         3073  +		<nd ref="500895006"/>
         3074  +		<nd ref="500895009"/>
         3075  +		<nd ref="500895014"/>
         3076  +		<nd ref="500895017"/>
         3077  +		<nd ref="500895021"/>
         3078  +		<nd ref="500895023"/>
         3079  +		<nd ref="500895025"/>
         3080  +		<nd ref="500895029"/>
         3081  +		<nd ref="500895032"/>
         3082  +		<nd ref="500895036"/>
         3083  +		<nd ref="500895038"/>
         3084  +		<nd ref="500895042"/>
         3085  +		<nd ref="500895044"/>
         3086  +		<nd ref="500895047"/>
         3087  +		<nd ref="500895048"/>
         3088  +		<nd ref="500895049"/>
         3089  +		<nd ref="500895050"/>
         3090  +		<nd ref="500895051"/>
         3091  +		<nd ref="500895053"/>
         3092  +		<nd ref="500894926"/>
         3093  +		<tag k="waterway" v="stream" />
         3094  +	</way>
         3095  +	<way id="41082248" version="2" changeset="8497828" uid="179778" user="JulienBalas" timestamp="2011-06-20T19:19:46Z">
         3096  +		<nd ref="500881744"/>
         3097  +		<nd ref="500895056"/>
         3098  +		<tag k="bridge" v="yes" />
         3099  +		<tag k="highway" v="tertiary" />
         3100  +		<tag k="layer" v="1" />
         3101  +		<tag k="ref" v="D 29" />
         3102  +	</way>
         3103  +	<way id="41082249" version="2" changeset="8497828" uid="179778" user="JulienBalas" timestamp="2011-06-20T19:19:45Z">
         3104  +		<nd ref="500895056"/>
         3105  +		<nd ref="258570520"/>
         3106  +		<nd ref="500881745"/>
         3107  +		<nd ref="500881746"/>
         3108  +		<nd ref="258570522"/>
         3109  +		<nd ref="258570523"/>
         3110  +		<nd ref="500881747"/>
         3111  +		<nd ref="258570524"/>
         3112  +		<nd ref="258570526"/>
         3113  +		<nd ref="500881748"/>
         3114  +		<nd ref="258570527"/>
         3115  +		<nd ref="258570528"/>
         3116  +		<nd ref="258570529"/>
         3117  +		<nd ref="500881749"/>
         3118  +		<nd ref="258570530"/>
         3119  +		<nd ref="500894809"/>
         3120  +		<nd ref="258570531"/>
         3121  +		<tag k="highway" v="tertiary" />
         3122  +		<tag k="ref" v="D 29" />
         3123  +	</way>
         3124  +	<way id="41082471" version="1" changeset="2528233" uid="44329" user="aikon" timestamp="2009-09-18T21:18:08Z">
         3125  +		<nd ref="500897895"/>
         3126  +		<nd ref="500897896"/>
         3127  +		<nd ref="500897897"/>
         3128  +		<nd ref="500897898"/>
         3129  +		<nd ref="500897899"/>
         3130  +		<nd ref="500897900"/>
         3131  +		<nd ref="500897884"/>
         3132  +		<tag k="waterway" v="stream" />
         3133  +	</way>
         3134  +	<way id="41082472" version="1" changeset="2528233" uid="44329" user="aikon" timestamp="2009-09-18T21:18:08Z">
         3135  +		<nd ref="500897901"/>
         3136  +		<nd ref="500897902"/>
         3137  +		<nd ref="500897903"/>
         3138  +		<nd ref="500897904"/>
         3139  +		<nd ref="500897887"/>
         3140  +		<tag k="waterway" v="stream" />
         3141  +	</way>
         3142  +	<way id="41082473" version="1" changeset="2528233" uid="44329" user="aikon" timestamp="2009-09-18T21:18:09Z">
         3143  +		<nd ref="500897905"/>
         3144  +		<nd ref="500897906"/>
         3145  +		<nd ref="500897907"/>
         3146  +		<nd ref="500897908"/>
         3147  +		<nd ref="500897909"/>
         3148  +		<nd ref="500897910"/>
         3149  +		<nd ref="500897911"/>
         3150  +		<nd ref="500897912"/>
         3151  +		<nd ref="500897913"/>
         3152  +		<nd ref="500897914"/>
         3153  +		<nd ref="500897915"/>
         3154  +		<nd ref="500897916"/>
         3155  +		<nd ref="500897917"/>
         3156  +		<nd ref="500897918"/>
         3157  +		<nd ref="500897919"/>
         3158  +		<nd ref="500897920"/>
         3159  +		<nd ref="500897921"/>
         3160  +		<nd ref="500897922"/>
         3161  +		<nd ref="500897923"/>
         3162  +		<nd ref="500897924"/>
         3163  +		<nd ref="500897925"/>
         3164  +		<nd ref="500897926"/>
         3165  +		<nd ref="500897927"/>
         3166  +		<nd ref="500897928"/>
         3167  +		<tag k="waterway" v="stream" />
         3168  +	</way>
         3169  +	<way id="41082474" version="1" changeset="2528233" uid="44329" user="aikon" timestamp="2009-09-18T21:18:09Z">
         3170  +		<nd ref="500897934"/>
         3171  +		<nd ref="500897933"/>
         3172  +		<nd ref="500897932"/>
         3173  +		<nd ref="500897931"/>
         3174  +		<nd ref="500897930"/>
         3175  +		<nd ref="500897929"/>
         3176  +		<nd ref="500897924"/>
         3177  +		<tag k="waterway" v="stream" />
         3178  +	</way>
         3179  +	<way id="41082475" version="1" changeset="2528233" uid="44329" user="aikon" timestamp="2009-09-18T21:18:09Z">
         3180  +		<nd ref="500897935"/>
         3181  +		<nd ref="500897936"/>
         3182  +		<nd ref="500897937"/>
         3183  +		<nd ref="500897938"/>
         3184  +		<nd ref="500897939"/>
         3185  +		<nd ref="500897877"/>
         3186  +		<tag k="waterway" v="stream" />
         3187  +	</way>
         3188  +	<way id="70726333" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:01Z">
         3189  +		<nd ref="843485322"/>
         3190  +		<nd ref="843485530"/>
         3191  +		<nd ref="843486958"/>
         3192  +		<nd ref="843487346"/>
         3193  +		<nd ref="843485322"/>
         3194  +		<tag k="building" v="yes" />
         3195  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3196  +	</way>
         3197  +	<way id="70726334" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:01Z">
         3198  +		<nd ref="843488060"/>
         3199  +		<nd ref="843486048"/>
         3200  +		<nd ref="843487086"/>
         3201  +		<nd ref="843487613"/>
         3202  +		<nd ref="843487825"/>
         3203  +		<nd ref="843485181"/>
         3204  +		<nd ref="843487682"/>
         3205  +		<nd ref="843485378"/>
         3206  +		<nd ref="843488060"/>
         3207  +		<tag k="building" v="yes" />
         3208  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3209  +	</way>
         3210  +	<way id="70726335" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:01Z">
         3211  +		<nd ref="843485442"/>
         3212  +		<nd ref="843488174"/>
         3213  +		<nd ref="843486244"/>
         3214  +		<nd ref="843487492"/>
         3215  +		<nd ref="843485442"/>
         3216  +		<tag k="building" v="yes" />
         3217  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3218  +	</way>
         3219  +	<way id="70726336" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:01Z">
         3220  +		<nd ref="843484837"/>
         3221  +		<nd ref="843486602"/>
         3222  +		<nd ref="843485781"/>
         3223  +		<nd ref="843487408"/>
         3224  +		<nd ref="843484837"/>
         3225  +		<tag k="building" v="yes" />
         3226  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3227  +	</way>
         3228  +	<way id="70726337" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:02Z">
         3229  +		<nd ref="843486620"/>
         3230  +		<nd ref="843486352"/>
         3231  +		<nd ref="843485665"/>
         3232  +		<nd ref="843487778"/>
         3233  +		<nd ref="843486620"/>
         3234  +		<tag k="building" v="yes" />
         3235  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3236  +	</way>
         3237  +	<way id="70726338" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:02Z">
         3238  +		<nd ref="843487215"/>
         3239  +		<nd ref="843487821"/>
         3240  +		<nd ref="843487803"/>
         3241  +		<nd ref="843485694"/>
         3242  +		<nd ref="843487215"/>
         3243  +		<tag k="building" v="yes" />
         3244  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3245  +	</way>
         3246  +	<way id="70726339" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:02Z">
         3247  +		<nd ref="843486628"/>
         3248  +		<nd ref="843487175"/>
         3249  +		<nd ref="843487708"/>
         3250  +		<nd ref="843485190"/>
         3251  +		<nd ref="843486569"/>
         3252  +		<nd ref="843487824"/>
         3253  +		<nd ref="843485521"/>
         3254  +		<nd ref="843485503"/>
         3255  +		<nd ref="843486628"/>
         3256  +		<tag k="building" v="yes" />
         3257  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3258  +	</way>
         3259  +	<way id="70726340" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:02Z">
         3260  +		<nd ref="843486975"/>
         3261  +		<nd ref="843486545"/>
         3262  +		<nd ref="843485082"/>
         3263  +		<nd ref="843486800"/>
         3264  +		<nd ref="843487504"/>
         3265  +		<nd ref="843486975"/>
         3266  +		<tag k="building" v="yes" />
         3267  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3268  +	</way>
         3269  +	<way id="70726343" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:02Z">
         3270  +		<nd ref="843486929"/>
         3271  +		<nd ref="843487598"/>
         3272  +		<nd ref="843487515"/>
         3273  +		<nd ref="843487645"/>
         3274  +		<nd ref="843486929"/>
         3275  +		<tag k="building" v="yes" />
         3276  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3277  +	</way>
         3278  +	<way id="70726344" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:03Z">
         3279  +		<nd ref="843487414"/>
         3280  +		<nd ref="843485948"/>
         3281  +		<nd ref="843486639"/>
         3282  +		<nd ref="843487084"/>
         3283  +		<nd ref="843486778"/>
         3284  +		<nd ref="843487414"/>
         3285  +		<tag k="building" v="yes" />
         3286  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3287  +	</way>
         3288  +	<way id="70726347" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:03Z">
         3289  +		<nd ref="843486756"/>
         3290  +		<nd ref="843486442"/>
         3291  +		<nd ref="843486117"/>
         3292  +		<nd ref="843486818"/>
         3293  +		<nd ref="843486756"/>
         3294  +		<tag k="building" v="yes" />
         3295  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3296  +	</way>
         3297  +	<way id="70726349" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:03Z">
         3298  +		<nd ref="843487973"/>
         3299  +		<nd ref="843484824"/>
         3300  +		<nd ref="843484834"/>
         3301  +		<nd ref="843487926"/>
         3302  +		<nd ref="843485981"/>
         3303  +		<nd ref="843485202"/>
         3304  +		<nd ref="843487973"/>
         3305  +		<tag k="building" v="yes" />
         3306  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3307  +	</way>
         3308  +	<way id="70726352" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:03Z">
         3309  +		<nd ref="843486257"/>
         3310  +		<nd ref="843487134"/>
         3311  +		<nd ref="843485777"/>
         3312  +		<nd ref="843487727"/>
         3313  +		<nd ref="843486257"/>
         3314  +		<tag k="building" v="yes" />
         3315  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3316  +		<tag k="wall" v="no" />
         3317  +	</way>
         3318  +	<way id="70726353" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:03Z">
         3319  +		<nd ref="843486836"/>
         3320  +		<nd ref="843485901"/>
         3321  +		<nd ref="843486052"/>
         3322  +		<nd ref="843486675"/>
         3323  +		<nd ref="843486836"/>
         3324  +		<tag k="building" v="yes" />
         3325  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3326  +	</way>
         3327  +	<way id="70726356" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:03Z">
         3328  +		<nd ref="843487298"/>
         3329  +		<nd ref="843484971"/>
         3330  +		<nd ref="843485953"/>
         3331  +		<nd ref="843485963"/>
         3332  +		<nd ref="843487298"/>
         3333  +		<tag k="building" v="yes" />
         3334  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3335  +	</way>
         3336  +	<way id="70726358" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:04Z">
         3337  +		<nd ref="843486812"/>
         3338  +		<nd ref="843488129"/>
         3339  +		<nd ref="843486565"/>
         3340  +		<nd ref="843485601"/>
         3341  +		<nd ref="843487888"/>
         3342  +		<nd ref="843487074"/>
         3343  +		<nd ref="843486481"/>
         3344  +		<nd ref="843486114"/>
         3345  +		<nd ref="843486812"/>
         3346  +		<tag k="building" v="yes" />
         3347  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3348  +	</way>
         3349  +	<way id="70726361" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:04Z">
         3350  +		<nd ref="843485036"/>
         3351  +		<nd ref="843487748"/>
         3352  +		<nd ref="843487968"/>
         3353  +		<nd ref="843486570"/>
         3354  +		<nd ref="843485036"/>
         3355  +		<tag k="building" v="yes" />
         3356  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3357  +	</way>
         3358  +	<way id="70726363" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:04Z">
         3359  +		<nd ref="843486855"/>
         3360  +		<nd ref="843487486"/>
         3361  +		<nd ref="843484833"/>
         3362  +		<nd ref="843485383"/>
         3363  +		<nd ref="843486855"/>
         3364  +		<tag k="building" v="yes" />
         3365  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3366  +	</way>
         3367  +	<way id="70726365" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:04Z">
         3368  +		<nd ref="843487293"/>
         3369  +		<nd ref="843485714"/>
         3370  +		<nd ref="843487675"/>
         3371  +		<nd ref="843487180"/>
         3372  +		<nd ref="843487361"/>
         3373  +		<nd ref="843485467"/>
         3374  +		<nd ref="843487293"/>
         3375  +		<tag k="building" v="yes" />
         3376  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3377  +	</way>
         3378  +	<way id="70726367" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:04Z">
         3379  +		<nd ref="843486864"/>
         3380  +		<nd ref="843486302"/>
         3381  +		<nd ref="843485349"/>
         3382  +		<nd ref="843487106"/>
         3383  +		<nd ref="843486407"/>
         3384  +		<nd ref="843486741"/>
         3385  +		<nd ref="843486864"/>
         3386  +		<tag k="building" v="yes" />
         3387  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3388  +	</way>
         3389  +	<way id="70726370" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:05Z">
         3390  +		<nd ref="843487410"/>
         3391  +		<nd ref="843487781"/>
         3392  +		<nd ref="843486422"/>
         3393  +		<nd ref="843486072"/>
         3394  +		<nd ref="843485625"/>
         3395  +		<nd ref="843485517"/>
         3396  +		<nd ref="843486801"/>
         3397  +		<nd ref="843487865"/>
         3398  +		<nd ref="843486096"/>
         3399  +		<nd ref="843484875"/>
         3400  +		<nd ref="843487410"/>
         3401  +		<tag k="building" v="yes" />
         3402  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3403  +	</way>
         3404  +	<way id="70726371" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:05Z">
         3405  +		<nd ref="843486253"/>
         3406  +		<nd ref="843485284"/>
         3407  +		<nd ref="843485866"/>
         3408  +		<nd ref="843487896"/>
         3409  +		<nd ref="843486253"/>
         3410  +		<tag k="building" v="yes" />
         3411  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3412  +	</way>
         3413  +	<way id="70726373" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:03:05Z">
         3414  +		<nd ref="843485357"/>
         3415  +		<nd ref="843485672"/>
         3416  +		<nd ref="843486914"/>
         3417  +		<nd ref="843486512"/>
         3418  +		<nd ref="843485712"/>
         3419  +		<nd ref="843487846"/>
         3420  +		<nd ref="843485357"/>
         3421  +		<tag k="building" v="yes" />
         3422  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3423  +	</way>
         3424  +	<way id="74698718" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:35Z">
         3425  +		<nd ref="882360623"/>
         3426  +		<nd ref="882373679"/>
         3427  +		<nd ref="882378707"/>
         3428  +		<nd ref="882381015"/>
         3429  +		<nd ref="882360623"/>
         3430  +		<tag k="building" v="yes" />
         3431  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3432  +		<tag k="wall" v="no" />
         3433  +	</way>
         3434  +	<way id="74698719" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:35Z">
         3435  +		<nd ref="882361480"/>
         3436  +		<nd ref="882362762"/>
         3437  +		<tag k="building" v="yes" />
         3438  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3439  +		<tag k="wall" v="no" />
         3440  +	</way>
         3441  +	<way id="74698720" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:36Z">
         3442  +		<nd ref="882366322"/>
         3443  +		<nd ref="882378595"/>
         3444  +		<nd ref="882360785"/>
         3445  +		<nd ref="882360975"/>
         3446  +		<nd ref="882366322"/>
         3447  +		<tag k="building" v="yes" />
         3448  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3449  +		<tag k="wall" v="no" />
         3450  +	</way>
         3451  +	<way id="74698721" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:36Z">
         3452  +		<nd ref="882358007"/>
         3453  +		<nd ref="882367990"/>
         3454  +		<nd ref="882368385"/>
         3455  +		<nd ref="882363632"/>
         3456  +		<nd ref="882363402"/>
         3457  +		<nd ref="882379737"/>
         3458  +		<nd ref="882358007"/>
         3459  +		<tag k="building" v="yes" />
         3460  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3461  +	</way>
         3462  +	<way id="74698722" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:36Z">
         3463  +		<nd ref="882377831"/>
         3464  +		<nd ref="882370133"/>
         3465  +		<nd ref="882373079"/>
         3466  +		<nd ref="882362330"/>
         3467  +		<nd ref="882377831"/>
         3468  +		<tag k="building" v="yes" />
         3469  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3470  +	</way>
         3471  +	<way id="74698723" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:36Z">
         3472  +		<nd ref="882367939"/>
         3473  +		<nd ref="882377417"/>
         3474  +		<nd ref="882375269"/>
         3475  +		<nd ref="882364807"/>
         3476  +		<nd ref="882378454"/>
         3477  +		<nd ref="882367939"/>
         3478  +		<tag k="building" v="yes" />
         3479  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3480  +	</way>
         3481  +	<way id="74698724" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:36Z">
         3482  +		<nd ref="882373533"/>
         3483  +		<nd ref="882377363"/>
         3484  +		<nd ref="882364994"/>
         3485  +		<nd ref="882378638"/>
         3486  +		<nd ref="882373533"/>
         3487  +		<tag k="building" v="yes" />
         3488  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3489  +		<tag k="wall" v="no" />
         3490  +	</way>
         3491  +	<way id="74698725" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:36Z">
         3492  +		<nd ref="882376487"/>
         3493  +		<nd ref="882367394"/>
         3494  +		<nd ref="882361735"/>
         3495  +		<nd ref="882378078"/>
         3496  +		<nd ref="882376487"/>
         3497  +		<tag k="building" v="yes" />
         3498  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3499  +	</way>
         3500  +	<way id="74698726" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:37Z">
         3501  +		<nd ref="882381306"/>
         3502  +		<nd ref="882359785"/>
         3503  +		<nd ref="882369713"/>
         3504  +		<nd ref="882363299"/>
         3505  +		<nd ref="882360205"/>
         3506  +		<nd ref="882381306"/>
         3507  +		<tag k="building" v="yes" />
         3508  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3509  +	</way>
         3510  +	<way id="74698727" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:37Z">
         3511  +		<nd ref="882362636"/>
         3512  +		<nd ref="882364828"/>
         3513  +		<nd ref="882367527"/>
         3514  +		<nd ref="882368451"/>
         3515  +		<nd ref="882367358"/>
         3516  +		<nd ref="882366004"/>
         3517  +		<nd ref="882368416"/>
         3518  +		<nd ref="882378927"/>
         3519  +		<nd ref="882380303"/>
         3520  +		<nd ref="882360378"/>
         3521  +		<nd ref="882366398"/>
         3522  +		<nd ref="882364295"/>
         3523  +		<nd ref="882362636"/>
         3524  +		<tag k="building" v="yes" />
         3525  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3526  +	</way>
         3527  +	<way id="74698728" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:37Z">
         3528  +		<nd ref="882367627"/>
         3529  +		<nd ref="882365641"/>
         3530  +		<nd ref="882368656"/>
         3531  +		<nd ref="882366022"/>
         3532  +		<nd ref="882375845"/>
         3533  +		<nd ref="882370949"/>
         3534  +		<nd ref="882368647"/>
         3535  +		<nd ref="882377032"/>
         3536  +		<nd ref="882369728"/>
         3537  +		<nd ref="882367445"/>
         3538  +		<nd ref="882367627"/>
         3539  +		<tag k="building" v="yes" />
         3540  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3541  +	</way>
         3542  +	<way id="74698729" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:37Z">
         3543  +		<nd ref="882380879"/>
         3544  +		<nd ref="882363266"/>
         3545  +		<nd ref="882378248"/>
         3546  +		<nd ref="882372534"/>
         3547  +		<nd ref="882373564"/>
         3548  +		<nd ref="882362634"/>
         3549  +		<nd ref="882374687"/>
         3550  +		<nd ref="882381134"/>
         3551  +		<nd ref="882380879"/>
         3552  +		<tag k="building" v="yes" />
         3553  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3554  +	</way>
         3555  +	<way id="74698731" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:37Z">
         3556  +		<nd ref="882369026"/>
         3557  +		<nd ref="882377049"/>
         3558  +		<nd ref="882363070"/>
         3559  +		<nd ref="882365731"/>
         3560  +		<nd ref="882369026"/>
         3561  +		<tag k="building" v="yes" />
         3562  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3563  +	</way>
         3564  +	<way id="74698732" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:37Z">
         3565  +		<nd ref="882364219"/>
         3566  +		<nd ref="882357824"/>
         3567  +		<nd ref="882368711"/>
         3568  +		<nd ref="882380353"/>
         3569  +		<nd ref="882369526"/>
         3570  +		<nd ref="882361772"/>
         3571  +		<nd ref="882364219"/>
         3572  +		<tag k="building" v="yes" />
         3573  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3574  +	</way>
         3575  +	<way id="74698733" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:38Z">
         3576  +		<nd ref="882361809"/>
         3577  +		<nd ref="882373445"/>
         3578  +		<nd ref="882365935"/>
         3579  +		<nd ref="882365561"/>
         3580  +		<nd ref="882361809"/>
         3581  +		<tag k="building" v="yes" />
         3582  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3583  +	</way>
         3584  +	<way id="74698734" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:38Z">
         3585  +		<nd ref="882360116"/>
         3586  +		<nd ref="882378355"/>
         3587  +		<nd ref="882366973"/>
         3588  +		<nd ref="882369372"/>
         3589  +		<nd ref="882360116"/>
         3590  +		<tag k="building" v="yes" />
         3591  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3592  +	</way>
         3593  +	<way id="74698735" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:38Z">
         3594  +		<nd ref="882364658"/>
         3595  +		<nd ref="882366546"/>
         3596  +		<nd ref="882365618"/>
         3597  +		<nd ref="882379739"/>
         3598  +		<nd ref="882374666"/>
         3599  +		<nd ref="882364658"/>
         3600  +		<tag k="building" v="yes" />
         3601  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3602  +	</way>
         3603  +	<way id="74698736" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:38Z">
         3604  +		<nd ref="882361950"/>
         3605  +		<nd ref="882367901"/>
         3606  +		<nd ref="882357719"/>
         3607  +		<nd ref="882379771"/>
         3608  +		<nd ref="882375451"/>
         3609  +		<nd ref="882371387"/>
         3610  +		<nd ref="882367275"/>
         3611  +		<nd ref="882358743"/>
         3612  +		<nd ref="882365105"/>
         3613  +		<nd ref="882363859"/>
         3614  +		<nd ref="882372694"/>
         3615  +		<nd ref="882381358"/>
         3616  +		<nd ref="882361950"/>
         3617  +		<tag k="building" v="yes" />
         3618  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3619  +	</way>
         3620  +	<way id="74698737" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:38Z">
         3621  +		<nd ref="882368822"/>
         3622  +		<nd ref="882376929"/>
         3623  +		<nd ref="882378305"/>
         3624  +		<nd ref="882358483"/>
         3625  +		<nd ref="882368822"/>
         3626  +		<tag k="building" v="yes" />
         3627  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3628  +	</way>
         3629  +	<way id="74698738" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:38Z">
         3630  +		<nd ref="882359554"/>
         3631  +		<nd ref="882370396"/>
         3632  +		<nd ref="882360491"/>
         3633  +		<nd ref="882366841"/>
         3634  +		<nd ref="882359554"/>
         3635  +		<tag k="building" v="yes" />
         3636  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3637  +	</way>
         3638  +	<way id="74698739" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:38Z">
         3639  +		<nd ref="882370837"/>
         3640  +		<nd ref="882377003"/>
         3641  +		<nd ref="882361925"/>
         3642  +		<nd ref="882376783"/>
         3643  +		<nd ref="882367014"/>
         3644  +		<nd ref="882370837"/>
         3645  +		<tag k="building" v="yes" />
         3646  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3647  +	</way>
         3648  +	<way id="74698740" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:39Z">
         3649  +		<nd ref="882366134"/>
         3650  +		<nd ref="882358898"/>
         3651  +		<nd ref="882378958"/>
         3652  +		<nd ref="882359652"/>
         3653  +		<nd ref="882363591"/>
         3654  +		<nd ref="882366796"/>
         3655  +		<nd ref="882362408"/>
         3656  +		<nd ref="882367869"/>
         3657  +		<nd ref="882366134"/>
         3658  +		<tag k="building" v="yes" />
         3659  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3660  +	</way>
         3661  +	<way id="74698741" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:39Z">
         3662  +		<nd ref="882371801"/>
         3663  +		<nd ref="882368439"/>
         3664  +		<nd ref="882378953"/>
         3665  +		<nd ref="882364017"/>
         3666  +		<nd ref="882363911"/>
         3667  +		<nd ref="882379882"/>
         3668  +		<nd ref="882361015"/>
         3669  +		<nd ref="882371801"/>
         3670  +		<tag k="building" v="yes" />
         3671  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3672  +		<tag k="wall" v="no" />
         3673  +	</way>
         3674  +	<way id="74698742" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:39Z">
         3675  +		<nd ref="882361097"/>
         3676  +		<nd ref="882364593"/>
         3677  +		<nd ref="882372656"/>
         3678  +		<nd ref="882364002"/>
         3679  +		<nd ref="882361097"/>
         3680  +		<tag k="building" v="yes" />
         3681  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3682  +		<tag k="wall" v="no" />
         3683  +	</way>
         3684  +	<way id="74698743" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:39Z">
         3685  +		<nd ref="882378019"/>
         3686  +		<nd ref="882360027"/>
         3687  +		<nd ref="882372361"/>
         3688  +		<nd ref="882380458"/>
         3689  +		<nd ref="882378019"/>
         3690  +		<tag k="building" v="yes" />
         3691  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3692  +		<tag k="wall" v="no" />
         3693  +	</way>
         3694  +	<way id="74698744" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:39Z">
         3695  +		<nd ref="882381256"/>
         3696  +		<nd ref="882361682"/>
         3697  +		<nd ref="882359559"/>
         3698  +		<nd ref="882377304"/>
         3699  +		<nd ref="882367844"/>
         3700  +		<nd ref="882381256"/>
         3701  +		<tag k="building" v="yes" />
         3702  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3703  +	</way>
         3704  +	<way id="74698745" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:40Z">
         3705  +		<nd ref="882367676"/>
         3706  +		<nd ref="882358285"/>
         3707  +		<nd ref="882371234"/>
         3708  +		<nd ref="882375437"/>
         3709  +		<nd ref="882367676"/>
         3710  +		<tag k="building" v="yes" />
         3711  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3712  +	</way>
         3713  +	<way id="74698746" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:40Z">
         3714  +		<nd ref="882361625"/>
         3715  +		<nd ref="882357318"/>
         3716  +		<nd ref="882364802"/>
         3717  +		<nd ref="882363307"/>
         3718  +		<nd ref="882376405"/>
         3719  +		<nd ref="882380369"/>
         3720  +		<nd ref="882361625"/>
         3721  +		<tag k="building" v="yes" />
         3722  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3723  +	</way>
         3724  +	<way id="74698747" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:40Z">
         3725  +		<nd ref="882372262"/>
         3726  +		<nd ref="882357451"/>
         3727  +		<nd ref="882363703"/>
         3728  +		<nd ref="882368089"/>
         3729  +		<nd ref="882372262"/>
         3730  +		<tag k="building" v="yes" />
         3731  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3732  +		<tag k="wall" v="no" />
         3733  +	</way>
         3734  +	<way id="74698748" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:40Z">
         3735  +		<nd ref="882362986"/>
         3736  +		<nd ref="882373645"/>
         3737  +		<nd ref="882364131"/>
         3738  +		<nd ref="882377635"/>
         3739  +		<nd ref="882372059"/>
         3740  +		<nd ref="882362986"/>
         3741  +		<tag k="building" v="yes" />
         3742  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3743  +	</way>
         3744  +	<way id="74698749" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:40Z">
         3745  +		<nd ref="882362108"/>
         3746  +		<nd ref="882368969"/>
         3747  +		<nd ref="882365066"/>
         3748  +		<nd ref="882367994"/>
         3749  +		<nd ref="882362108"/>
         3750  +		<tag k="building" v="yes" />
         3751  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3752  +	</way>
         3753  +	<way id="74698750" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:40Z">
         3754  +		<nd ref="882368135"/>
         3755  +		<nd ref="882366607"/>
         3756  +		<nd ref="882361113"/>
         3757  +		<nd ref="882360244"/>
         3758  +		<nd ref="882371755"/>
         3759  +		<nd ref="882368135"/>
         3760  +		<tag k="building" v="yes" />
         3761  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3762  +	</way>
         3763  +	<way id="74698751" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:40Z">
         3764  +		<nd ref="882380645"/>
         3765  +		<nd ref="882365633"/>
         3766  +		<nd ref="882369675"/>
         3767  +		<nd ref="882366725"/>
         3768  +		<nd ref="882362764"/>
         3769  +		<nd ref="882373541"/>
         3770  +		<nd ref="882380645"/>
         3771  +		<tag k="building" v="yes" />
         3772  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3773  +	</way>
         3774  +	<way id="74698752" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:41Z">
         3775  +		<nd ref="882363882"/>
         3776  +		<nd ref="882374102"/>
         3777  +		<nd ref="882381488"/>
         3778  +		<nd ref="882366367"/>
         3779  +		<nd ref="882364500"/>
         3780  +		<nd ref="882363882"/>
         3781  +		<tag k="building" v="yes" />
         3782  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3783  +	</way>
         3784  +	<way id="74698753" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:41Z">
         3785  +		<nd ref="882363168"/>
         3786  +		<nd ref="882377961"/>
         3787  +		<nd ref="882375581"/>
         3788  +		<nd ref="882375721"/>
         3789  +		<nd ref="882363168"/>
         3790  +		<tag k="building" v="yes" />
         3791  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3792  +		<tag k="wall" v="no" />
         3793  +	</way>
         3794  +	<way id="74698754" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:41Z">
         3795  +		<nd ref="882359232"/>
         3796  +		<nd ref="882364414"/>
         3797  +		<nd ref="882369624"/>
         3798  +		<nd ref="882363863"/>
         3799  +		<nd ref="882359232"/>
         3800  +		<tag k="building" v="yes" />
         3801  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3802  +	</way>
         3803  +	<way id="74698755" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:41Z">
         3804  +		<nd ref="882362220"/>
         3805  +		<nd ref="882380881"/>
         3806  +		<tag k="building" v="yes" />
         3807  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3808  +	</way>
         3809  +	<way id="74698756" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:41Z">
         3810  +		<nd ref="882360302"/>
         3811  +		<nd ref="882374957"/>
         3812  +		<nd ref="882372306"/>
         3813  +		<nd ref="882380407"/>
         3814  +		<nd ref="882360302"/>
         3815  +		<tag k="building" v="yes" />
         3816  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3817  +	</way>
         3818  +	<way id="74698757" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:41Z">
         3819  +		<nd ref="882369908"/>
         3820  +		<nd ref="882358808"/>
         3821  +		<nd ref="882376165"/>
         3822  +		<nd ref="882364200"/>
         3823  +		<nd ref="882369908"/>
         3824  +		<tag k="building" v="yes" />
         3825  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3826  +	</way>
         3827  +	<way id="74698758" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:51Z">
         3828  +		<nd ref="882362701"/>
         3829  +		<nd ref="882358367"/>
         3830  +		<nd ref="882359924"/>
         3831  +		<nd ref="882362617"/>
         3832  +		<nd ref="882362701"/>
         3833  +		<tag k="building" v="yes" />
         3834  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3835  +	</way>
         3836  +	<way id="74698759" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:51Z">
         3837  +		<nd ref="882373222"/>
         3838  +		<nd ref="882373826"/>
         3839  +		<nd ref="882365419"/>
         3840  +		<nd ref="882365349"/>
         3841  +		<nd ref="882373222"/>
         3842  +		<tag k="building" v="yes" />
         3843  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3844  +	</way>
         3845  +	<way id="74698760" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:51Z">
         3846  +		<nd ref="882360934"/>
         3847  +		<nd ref="882368189"/>
         3848  +		<nd ref="882379941"/>
         3849  +		<nd ref="882365276"/>
         3850  +		<nd ref="882360934"/>
         3851  +		<tag k="building" v="yes" />
         3852  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3853  +	</way>
         3854  +	<way id="74698761" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:52Z">
         3855  +		<nd ref="882362973"/>
         3856  +		<nd ref="882358412"/>
         3857  +		<nd ref="882380039"/>
         3858  +		<nd ref="882380138"/>
         3859  +		<nd ref="882372338"/>
         3860  +		<nd ref="882359296"/>
         3861  +		<nd ref="882362973"/>
         3862  +		<tag k="building" v="yes" />
         3863  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3864  +	</way>
         3865  +	<way id="74698762" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:52Z">
         3866  +		<nd ref="882372056"/>
         3867  +		<nd ref="882376368"/>
         3868  +		<nd ref="882372063"/>
         3869  +		<nd ref="882365387"/>
         3870  +		<nd ref="882372056"/>
         3871  +		<tag k="building" v="yes" />
         3872  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3873  +		<tag k="wall" v="no" />
         3874  +	</way>
         3875  +	<way id="74698763" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:52Z">
         3876  +		<nd ref="882374910"/>
         3877  +		<nd ref="882363295"/>
         3878  +		<nd ref="882363596"/>
         3879  +		<nd ref="882361688"/>
         3880  +		<nd ref="882374910"/>
         3881  +		<tag k="building" v="yes" />
         3882  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3883  +	</way>
         3884  +	<way id="74698764" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:52Z">
         3885  +		<nd ref="882377680"/>
         3886  +		<nd ref="882370060"/>
         3887  +		<nd ref="882366070"/>
         3888  +		<nd ref="882367370"/>
         3889  +		<nd ref="882368222"/>
         3890  +		<nd ref="882375658"/>
         3891  +		<nd ref="882377680"/>
         3892  +		<tag k="building" v="yes" />
         3893  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3894  +	</way>
         3895  +	<way id="74698765" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:52Z">
         3896  +		<nd ref="882372597"/>
         3897  +		<nd ref="882360144"/>
         3898  +		<nd ref="882374758"/>
         3899  +		<nd ref="882381068"/>
         3900  +		<nd ref="882372597"/>
         3901  +		<tag k="building" v="yes" />
         3902  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3903  +		<tag k="wall" v="no" />
         3904  +	</way>
         3905  +	<way id="74698766" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:52Z">
         3906  +		<nd ref="882357202"/>
         3907  +		<nd ref="882369350"/>
         3908  +		<nd ref="882366405"/>
         3909  +		<nd ref="882364706"/>
         3910  +		<nd ref="882379154"/>
         3911  +		<nd ref="882357202"/>
         3912  +		<tag k="building" v="yes" />
         3913  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3914  +	</way>
         3915  +	<way id="74698767" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:52Z">
         3916  +		<nd ref="882378530"/>
         3917  +		<nd ref="882366941"/>
         3918  +		<nd ref="882363021"/>
         3919  +		<nd ref="882364327"/>
         3920  +		<nd ref="882366924"/>
         3921  +		<nd ref="882378530"/>
         3922  +		<tag k="building" v="yes" />
         3923  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3924  +	</way>
         3925  +	<way id="74698768" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:52Z">
         3926  +		<nd ref="882376128"/>
         3927  +		<nd ref="882366571"/>
         3928  +		<nd ref="882365177"/>
         3929  +		<nd ref="882374953"/>
         3930  +		<nd ref="882365269"/>
         3931  +		<nd ref="882376128"/>
         3932  +		<tag k="building" v="yes" />
         3933  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3934  +		<tag k="wall" v="no" />
         3935  +	</way>
         3936  +	<way id="74698769" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:53Z">
         3937  +		<nd ref="882378562"/>
         3938  +		<nd ref="882372342"/>
         3939  +		<nd ref="882368110"/>
         3940  +		<nd ref="882368951"/>
         3941  +		<nd ref="882378562"/>
         3942  +		<tag k="building" v="yes" />
         3943  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3944  +	</way>
         3945  +	<way id="74698770" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:53Z">
         3946  +		<nd ref="882362783"/>
         3947  +		<nd ref="882373020"/>
         3948  +		<nd ref="882363217"/>
         3949  +		<nd ref="882368803"/>
         3950  +		<nd ref="882365518"/>
         3951  +		<nd ref="882379848"/>
         3952  +		<nd ref="882362783"/>
         3953  +		<tag k="building" v="yes" />
         3954  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3955  +	</way>
         3956  +	<way id="74698771" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:53Z">
         3957  +		<nd ref="882369471"/>
         3958  +		<nd ref="882372376"/>
         3959  +		<nd ref="882379786"/>
         3960  +		<nd ref="882380989"/>
         3961  +		<nd ref="882369471"/>
         3962  +		<tag k="building" v="yes" />
         3963  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3964  +	</way>
         3965  +	<way id="74698772" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:53Z">
         3966  +		<nd ref="882358354"/>
         3967  +		<nd ref="882360506"/>
         3968  +		<nd ref="882365035"/>
         3969  +		<nd ref="882372413"/>
         3970  +		<nd ref="882358354"/>
         3971  +		<tag k="building" v="yes" />
         3972  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3973  +		<tag k="wall" v="no" />
         3974  +	</way>
         3975  +	<way id="74698773" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:53Z">
         3976  +		<nd ref="882360764"/>
         3977  +		<nd ref="882359473"/>
         3978  +		<nd ref="882372280"/>
         3979  +		<nd ref="882359066"/>
         3980  +		<nd ref="882360764"/>
         3981  +		<tag k="building" v="yes" />
         3982  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3983  +	</way>
         3984  +	<way id="74698774" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:53Z">
         3985  +		<nd ref="882362112"/>
         3986  +		<nd ref="882364451"/>
         3987  +		<nd ref="882367094"/>
         3988  +		<nd ref="882357533"/>
         3989  +		<nd ref="882362112"/>
         3990  +		<tag k="building" v="yes" />
         3991  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         3992  +	</way>
         3993  +	<way id="74698775" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:54Z">
         3994  +		<nd ref="882366890"/>
         3995  +		<nd ref="882362921"/>
         3996  +		<nd ref="882369149"/>
         3997  +		<nd ref="882363465"/>
         3998  +		<nd ref="882366890"/>
         3999  +		<tag k="building" v="yes" />
         4000  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         4001  +		<tag k="wall" v="no" />
         4002  +	</way>
         4003  +	<way id="74698776" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:54Z">
         4004  +		<nd ref="882367571"/>
         4005  +		<nd ref="882373888"/>
         4006  +		<nd ref="882364766"/>
         4007  +		<nd ref="882366139"/>
         4008  +		<nd ref="882367571"/>
         4009  +		<tag k="building" v="yes" />
         4010  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         4011  +	</way>
         4012  +	<way id="74698777" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:54Z">
         4013  +		<nd ref="882369737"/>
         4014  +		<nd ref="882359763"/>
         4015  +		<nd ref="882364356"/>
         4016  +		<nd ref="882365737"/>
         4017  +		<nd ref="882364074"/>
         4018  +		<nd ref="882362503"/>
         4019  +		<nd ref="882369737"/>
         4020  +		<tag k="building" v="yes" />
         4021  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         4022  +		<tag k="wall" v="no" />
         4023  +	</way>
         4024  +	<way id="74698778" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:54Z">
         4025  +		<nd ref="882362044"/>
         4026  +		<nd ref="882367872"/>
         4027  +		<nd ref="882379331"/>
         4028  +		<nd ref="882380748"/>
         4029  +		<nd ref="882362044"/>
         4030  +		<tag k="building" v="yes" />
         4031  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         4032  +		<tag k="wall" v="no" />
         4033  +	</way>
         4034  +	<way id="74698779" version="2" changeset="9197463" uid="201149" user="PierenBot" timestamp="2011-09-03T01:13:54Z">
         4035  +		<nd ref="882359294"/>
         4036  +		<nd ref="882370057"/>
         4037  +		<nd ref="882363948"/>
         4038  +		<nd ref="882381382"/>
         4039  +		<nd ref="882359294"/>
         4040  +		<tag k="building" v="yes" />
         4041  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2010" />
         4042  +	</way>
         4043  +	<way id="132748431" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:12Z">
         4044  +		<nd ref="1460385462"/>
         4045  +		<nd ref="1460385448"/>
         4046  +		<nd ref="1460385438"/>
         4047  +		<nd ref="1460385423"/>
         4048  +		<nd ref="1460385398"/>
         4049  +		<nd ref="1460385412"/>
         4050  +		<nd ref="1460385457"/>
         4051  +		<nd ref="1460385456"/>
         4052  +		<nd ref="1460385442"/>
         4053  +		<nd ref="1460385463"/>
         4054  +		<nd ref="1460385462"/>
         4055  +		<tag k="building" v="yes" />
         4056  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4057  +	</way>
         4058  +	<way id="132748432" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:12Z">
         4059  +		<nd ref="1460386082"/>
         4060  +		<nd ref="1460386077"/>
         4061  +		<nd ref="1460386054"/>
         4062  +		<nd ref="1460386090"/>
         4063  +		<nd ref="1460386105"/>
         4064  +		<nd ref="1460386104"/>
         4065  +		<nd ref="1460386117"/>
         4066  +		<nd ref="1460386116"/>
         4067  +		<nd ref="1460386115"/>
         4068  +		<nd ref="1460386107"/>
         4069  +		<nd ref="1460386082"/>
         4070  +		<tag k="building" v="yes" />
         4071  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4072  +	</way>
         4073  +	<way id="132748433" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:12Z">
         4074  +		<nd ref="1460385544"/>
         4075  +		<nd ref="1460385508"/>
         4076  +		<nd ref="1460385512"/>
         4077  +		<nd ref="1460385517"/>
         4078  +		<nd ref="1460385526"/>
         4079  +		<nd ref="1460385530"/>
         4080  +		<nd ref="1460385522"/>
         4081  +		<nd ref="1460385533"/>
         4082  +		<nd ref="1460385536"/>
         4083  +		<nd ref="1460385550"/>
         4084  +		<nd ref="1460385544"/>
         4085  +		<tag k="building" v="yes" />
         4086  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4087  +	</way>
         4088  +	<way id="132748434" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:13Z">
         4089  +		<nd ref="1460385146"/>
         4090  +		<nd ref="1460385048"/>
         4091  +		<nd ref="1460385050"/>
         4092  +		<nd ref="1460385054"/>
         4093  +		<nd ref="1460385043"/>
         4094  +		<nd ref="1460385045"/>
         4095  +		<nd ref="1460385039"/>
         4096  +		<nd ref="1460385046"/>
         4097  +		<nd ref="1460385060"/>
         4098  +		<nd ref="1460385066"/>
         4099  +		<nd ref="1460385161"/>
         4100  +		<nd ref="1460385146"/>
         4101  +		<tag k="building" v="yes" />
         4102  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4103  +	</way>
         4104  +	<way id="132748435" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:13Z">
         4105  +		<nd ref="1460385309"/>
         4106  +		<nd ref="1460385308"/>
         4107  +		<nd ref="1460385302"/>
         4108  +		<nd ref="1460385295"/>
         4109  +		<nd ref="1460385300"/>
         4110  +		<nd ref="1460385296"/>
         4111  +		<nd ref="1460385288"/>
         4112  +		<nd ref="1460385261"/>
         4113  +		<nd ref="1460385289"/>
         4114  +		<nd ref="1460385291"/>
         4115  +		<nd ref="1460385317"/>
         4116  +		<nd ref="1460385309"/>
         4117  +		<tag k="building" v="yes" />
         4118  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4119  +	</way>
         4120  +	<way id="132748436" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:13Z">
         4121  +		<nd ref="1460384990"/>
         4122  +		<nd ref="1460384984"/>
         4123  +		<nd ref="1460384972"/>
         4124  +		<nd ref="1460384969"/>
         4125  +		<nd ref="1460384978"/>
         4126  +		<nd ref="1460384977"/>
         4127  +		<nd ref="1460384967"/>
         4128  +		<nd ref="1460384960"/>
         4129  +		<nd ref="1460384966"/>
         4130  +		<nd ref="1460384971"/>
         4131  +		<nd ref="1460384991"/>
         4132  +		<nd ref="1460384990"/>
         4133  +		<tag k="building" v="yes" />
         4134  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4135  +	</way>
         4136  +	<way id="132748438" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:13Z">
         4137  +		<nd ref="1460384856"/>
         4138  +		<nd ref="1460384853"/>
         4139  +		<nd ref="1460384845"/>
         4140  +		<nd ref="1460384847"/>
         4141  +		<nd ref="1460384825"/>
         4142  +		<nd ref="1460384819"/>
         4143  +		<nd ref="1460384828"/>
         4144  +		<nd ref="1460384817"/>
         4145  +		<nd ref="1460384840"/>
         4146  +		<nd ref="1460384846"/>
         4147  +		<nd ref="1460384851"/>
         4148  +		<nd ref="1460384856"/>
         4149  +		<tag k="building" v="yes" />
         4150  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4151  +	</way>
         4152  +	<way id="132748439" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:13Z">
         4153  +		<nd ref="1460386035"/>
         4154  +		<nd ref="1460386016"/>
         4155  +		<nd ref="1460386015"/>
         4156  +		<nd ref="1460386020"/>
         4157  +		<nd ref="1460386031"/>
         4158  +		<nd ref="1460386029"/>
         4159  +		<nd ref="1460386062"/>
         4160  +		<nd ref="1460386072"/>
         4161  +		<nd ref="1460386101"/>
         4162  +		<nd ref="1460386106"/>
         4163  +		<nd ref="1460386039"/>
         4164  +		<nd ref="1460386035"/>
         4165  +		<tag k="building" v="yes" />
         4166  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4167  +	</way>
         4168  +	<way id="132748443" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:14Z">
         4169  +		<nd ref="1460385357"/>
         4170  +		<nd ref="1460385344"/>
         4171  +		<nd ref="1460385338"/>
         4172  +		<nd ref="1460385335"/>
         4173  +		<nd ref="1460385328"/>
         4174  +		<nd ref="1460385334"/>
         4175  +		<nd ref="1460385324"/>
         4176  +		<nd ref="1460385331"/>
         4177  +		<nd ref="1460385332"/>
         4178  +		<nd ref="1460385345"/>
         4179  +		<nd ref="1460385367"/>
         4180  +		<nd ref="1460385357"/>
         4181  +		<tag k="building" v="yes" />
         4182  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4183  +	</way>
         4184  +	<way id="132748448" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:14Z">
         4185  +		<nd ref="1460386213"/>
         4186  +		<nd ref="1460386221"/>
         4187  +		<nd ref="1460386218"/>
         4188  +		<nd ref="1460386233"/>
         4189  +		<nd ref="1460386231"/>
         4190  +		<nd ref="1460386245"/>
         4191  +		<nd ref="1460386251"/>
         4192  +		<nd ref="1460386246"/>
         4193  +		<nd ref="1460386247"/>
         4194  +		<nd ref="1460386232"/>
         4195  +		<nd ref="1460386234"/>
         4196  +		<nd ref="1460386215"/>
         4197  +		<nd ref="1460386213"/>
         4198  +		<tag k="building" v="yes" />
         4199  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4200  +	</way>
         4201  +	<way id="132748450" version="1" changeset="9515932" uid="221846" user="eiger" timestamp="2011-10-09T18:50:14Z">
         4202  +		<nd ref="1460385792"/>
         4203  +		<nd ref="1460385795"/>
         4204  +		<nd ref="1460385794"/>
         4205  +		<nd ref="1460385800"/>
         4206  +		<nd ref="1460385799"/>
         4207  +		<nd ref="1460385805"/>
         4208  +		<nd ref="1460385808"/>
         4209  +		<nd ref="1460385802"/>
         4210  +		<nd ref="1460385804"/>
         4211  +		<nd ref="1460385806"/>
         4212  +		<nd ref="1460385807"/>
         4213  +		<nd ref="1460385793"/>
         4214  +		<nd ref="1460385792"/>
         4215  +		<tag k="building" v="yes" />
         4216  +		<tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011" />
         4217  +	</way>
         4218  +	<way id="157687744" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:34Z">
         4219  +		<nd ref="59857469"/>
         4220  +		<nd ref="1699482067"/>
         4221  +		<nd ref="727607080"/>
         4222  +		<tag k="highway" v="primary" />
         4223  +		<tag k="oneway" v="yes" />
         4224  +		<tag k="ref" v="N 198" />
         4225  +	</way>
         4226  +	<way id="157687745" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:34Z">
         4227  +		<nd ref="727607080"/>
         4228  +		<nd ref="1699482068"/>
         4229  +		<nd ref="386850835"/>
         4230  +		<tag k="highway" v="primary" />
         4231  +		<tag k="oneway" v="yes" />
         4232  +		<tag k="ref" v="N 198" />
         4233  +	</way>
         4234  +	<way id="157687746" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:34Z">
         4235  +		<nd ref="257061393"/>
         4236  +		<nd ref="257061396"/>
         4237  +		<nd ref="257061397"/>
         4238  +		<tag k="highway" v="residential" />
         4239  +		<tag k="name" v="Quai Sotta Portigliola" />
         4240  +		<tag k="oneway" v="yes" />
         4241  +	</way>
         4242  +	<way id="157687747" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:35Z">
         4243  +		<nd ref="257061397"/>
         4244  +		<nd ref="1699481985"/>
         4245  +		<nd ref="257061399"/>
         4246  +		<nd ref="257061400"/>
         4247  +		<nd ref="1699481990"/>
         4248  +		<nd ref="288080667"/>
         4249  +		<nd ref="288080666"/>
         4250  +		<nd ref="1699481988"/>
         4251  +		<nd ref="1699481987"/>
         4252  +		<nd ref="1699481983"/>
         4253  +		<tag k="highway" v="residential" />
         4254  +		<tag k="name" v="Quai del Ferro" />
         4255  +		<tag k="oneway" v="yes" />
         4256  +	</way>
         4257  +	<way id="157687748" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:35Z">
         4258  +		<nd ref="14468464"/>
         4259  +		<nd ref="1699481975"/>
         4260  +		<nd ref="14468414"/>
         4261  +		<nd ref="1129561602"/>
         4262  +		<nd ref="257061368"/>
         4263  +		<nd ref="1129561660"/>
         4264  +		<nd ref="945399286"/>
         4265  +		<nd ref="288666364"/>
         4266  +		<nd ref="14468415"/>
         4267  +		<nd ref="257061369"/>
         4268  +		<nd ref="257061371"/>
         4269  +		<nd ref="14468416"/>
         4270  +		<nd ref="288080197"/>
         4271  +		<nd ref="14468411"/>
         4272  +		<tag k="highway" v="tertiary" />
         4273  +		<tag k="oneway" v="yes" />
         4274  +	</way>
         4275  +	<way id="157687749" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:35Z">
         4276  +		<nd ref="59857469"/>
         4277  +		<nd ref="386850835"/>
         4278  +		<nd ref="1699482070"/>
         4279  +		<nd ref="1699482080"/>
         4280  +		<nd ref="51407551"/>
         4281  +		<nd ref="1699482072"/>
         4282  +		<nd ref="841572078"/>
         4283  +		<nd ref="1699482069"/>
         4284  +		<nd ref="1699482066"/>
         4285  +		<nd ref="51407547"/>
         4286  +		<nd ref="1699482061"/>
         4287  +		<nd ref="14468944"/>
         4288  +		<nd ref="1699482063"/>
         4289  +		<nd ref="1699482065"/>
         4290  +		<nd ref="59857469"/>
         4291  +		<tag k="highway" v="primary" />
         4292  +		<tag k="junction" v="roundabout" />
         4293  +	</way>
         4294  +	<way id="157687750" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:36Z">
         4295  +		<nd ref="51407547"/>
         4296  +		<nd ref="1699482052"/>
         4297  +		<nd ref="14468399"/>
         4298  +		<tag k="highway" v="primary_link" />
         4299  +		<tag k="oneway" v="yes" />
         4300  +	</way>
         4301  +	<way id="157687751" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:36Z">
         4302  +		<nd ref="1699482071"/>
         4303  +		<nd ref="1699482082"/>
         4304  +		<nd ref="51407554"/>
         4305  +		<tag k="highway" v="primary_link" />
         4306  +		<tag k="oneway" v="yes" />
         4307  +	</way>
         4308  +	<way id="157687752" version="1" changeset="11164863" uid="24247" user="Vlad" timestamp="2012-03-31T11:12:36Z">
         4309  +		<nd ref="14468412"/>
         4310  +		<nd ref="1699481989"/>
         4311  +		<nd ref="1438677859"/>
         4312  +		<nd ref="61155989"/>
         4313  +		<nd ref="257061370"/>
         4314  +		<nd ref="14468413"/>
         4315  +		<nd ref="1129561572"/>
         4316  +		<nd ref="14468464"/>
         4317  +		<tag k="highway" v="tertiary" />
         4318  +		<tag k="oneway" v="yes" />
         4319  +	</way>
         4320  +	<relation id="11980" version="692" changeset="10675769" uid="602106" user="BEECEE" timestamp="2012-02-13T18:18:27Z">
         4321  +		<member type="node" ref="17807753" role="capital"/>
         4322  +		<member type="relation" ref="1362232" role="outer"/>
         4323  +		<member type="relation" ref="1263863" role="outer"/>
         4324  +		<member type="relation" ref="1263868" role="outer"/>
         4325  +		<member type="relation" ref="1401925" role="outer"/>
         4326  +		<member type="relation" ref="1263846" role="outer"/>
         4327  +		<member type="relation" ref="1628087" role="outer"/>
         4328  +		<tag k="admin_level" v="2" />
         4329  +		<tag k="boundary" v="administrative" />
         4330  +		<tag k="currency" v="EUR" />
         4331  +		<tag k="ISO3166-1" v="fr" />
         4332  +		<tag k="land_area" v="administrative" />
         4333  +		<tag k="name" v="France" />
         4334  +		<tag k="name:af" v="Frankryk" />
         4335  +		<tag k="name:am" v="ፈረንሣይ" />
         4336  +		<tag k="name:ar" v="فرنسا" />
         4337  +		<tag k="name:az" v="Fransa" />
         4338  +		<tag k="name:ba" v="Франция" />
         4339  +		<tag k="name:be" v="Францыя" />
         4340  +		<tag k="name:bg" v="Франция" />
         4341  +		<tag k="name:bm" v="France" />
         4342  +		<tag k="name:bn" v="ফ্রান্স" />
         4343  +		<tag k="name:br" v="Bro-C&#39;hall" />
         4344  +		<tag k="name:co" v="Francia" />
         4345  +		<tag k="name:cs" v="Francie" />
         4346  +		<tag k="name:cy" v="Ffrainc" />
         4347  +		<tag k="name:da" v="Frankrig" />
         4348  +		<tag k="name:de" v="Frankreich" />
         4349  +		<tag k="name:dv" v="ފަރަންސޭސިވިލާތް" />
         4350  +		<tag k="name:ee" v="France" />
         4351  +		<tag k="name:el" v="Γαλλία" />
         4352  +		<tag k="name:en" v="France" />
         4353  +		<tag k="name:es" v="Francia" />
         4354  +		<tag k="name:et" v="Prantsusmaa" />
         4355  +		<tag k="name:eu" v="Frantzia" />
         4356  +		<tag k="name:fa" v="فرانسه" />
         4357  +		<tag k="name:fr" v="France" />
         4358  +		<tag k="name:gan" v="法國" />
         4359  +		<tag k="name:gd" v="An Fhraing" />
         4360  +		<tag k="name:gsw" v="Frankreich" />
         4361  +		<tag k="name:gu" v="ફ્રાન્સ" />
         4362  +		<tag k="name:he" v="צרפת" />
         4363  +		<tag k="name:hi" v="फ़्रान्स" />
         4364  +		<tag k="name:hr" v="Francuska" />
         4365  +		<tag k="name:hy" v="Ֆրանսիա" />
         4366  +		<tag k="name:id" v="Perancis" />
         4367  +		<tag k="name:is" v="Frakkland" />
         4368  +		<tag k="name:it" v="Francia" />
         4369  +		<tag k="name:ja" v="フランス" />
         4370  +		<tag k="name:ka" v="საფრანგეთი" />
         4371  +		<tag k="name:kg" v="Fwalansa" />
         4372  +		<tag k="name:kk" v="Франция" />
         4373  +		<tag k="name:kl" v="Franskit Nunaat" />
         4374  +		<tag k="name:km" v="បារាំង" />
         4375  +		<tag k="name:kn" v="ಫ್ರಾನ್ಸ್" />
         4376  +		<tag k="name:ko" v="프랑스" />
         4377  +		<tag k="name:ku" v="Fransa" />
         4378  +		<tag k="name:la" v="Francia" />
         4379  +		<tag k="name:lb" v="Frankräich" />
         4380  +		<tag k="name:li" v="Frankriek" />
         4381  +		<tag k="name:lo" v="ປະເທດຝະລັ່ງ" />
         4382  +		<tag k="name:mg" v="Frantsa" />
         4383  +		<tag k="name:mk" v="Франција" />
         4384  +		<tag k="name:ml" v="ഫ്രാൻസ്" />
         4385  +		<tag k="name:mn" v="Франц" />
         4386  +		<tag k="name:ms" v="Perancis" />
         4387  +		<tag k="name:mt" v="Franza" />
         4388  +		<tag k="name:my" v="ပြင်သစ်နိုင်ငံ" />
         4389  +		<tag k="name:nan" v="Hoat-kok" />
         4390  +		<tag k="name:ne" v="फ्रान्स" />
         4391  +		<tag k="name:nl" v="Frankrijk" />
         4392  +		<tag k="name:no" v="Frankrike" />
         4393  +		<tag k="name:oc" v="França" />
         4394  +		<tag k="name:os" v="Франц" />
         4395  +		<tag k="name:pa" v="ਫ੍ਰਾਂਸ" />
         4396  +		<tag k="name:pl" v="Francja" />
         4397  +		<tag k="name:ps" v="فرانسه" />
         4398  +		<tag k="name:pt" v="França" />
         4399  +		<tag k="name:qu" v="Ransiya" />
         4400  +		<tag k="name:rm" v="Frantscha" />
         4401  +		<tag k="name:ro" v="Franța" />
         4402  +		<tag k="name:ru" v="Франция" />
         4403  +		<tag k="name:sa" v="फ्रांस" />
         4404  +		<tag k="name:sc" v="Frantza" />
         4405  +		<tag k="name:scn" v="Francia" />
         4406  +		<tag k="name:sco" v="Fraunce" />
         4407  +		<tag k="name:se" v="Frankriika" />
         4408  +		<tag k="name:sk" v="Francúzsko" />
         4409  +		<tag k="name:sl" v="Francija" />
         4410  +		<tag k="name:sq" v="Franca" />
         4411  +		<tag k="name:sr" v="Француска" />
         4412  +		<tag k="name:su" v="Perancis" />
         4413  +		<tag k="name:sv" v="Frankrike" />
         4414  +		<tag k="name:sw" v="Ufaransa" />
         4415  +		<tag k="name:ta" v="பிரான்சு" />
         4416  +		<tag k="name:te" v="ఫ్రాన్స్" />
         4417  +		<tag k="name:tg" v="Фаронса" />
         4418  +		<tag k="name:th" v="ประเทศฝรั่งเศส" />
         4419  +		<tag k="name:tk" v="Fransiýa" />
         4420  +		<tag k="name:tl" v="Pransiya" />
         4421  +		<tag k="name:tr" v="Fransa" />
         4422  +		<tag k="name:tt" v="Франция" />
         4423  +		<tag k="name:ug" v="فرانسىيە" />
         4424  +		<tag k="name:uk" v="Франція" />
         4425  +		<tag k="name:ur" v="فرانس" />
         4426  +		<tag k="name:vi" v="Pháp" />
         4427  +		<tag k="name:vls" v="Vrankryk" />
         4428  +		<tag k="name:wo" v="Faraas" />
         4429  +		<tag k="name:wuu" v="法国" />
         4430  +		<tag k="name:xmf" v="საფრანგეთი" />
         4431  +		<tag k="name:yi" v="פראנקרייך" />
         4432  +		<tag k="name:yue" v="法國" />
         4433  +		<tag k="name:za" v="Fazgoz" />
         4434  +		<tag k="name:zh" v="法国" />
         4435  +		<tag k="name:zu" v="IFulansi" />
         4436  +		<tag k="note" v="For explanations please read http://wiki.openstreetmap.org/wiki/France_boundary_pyramidal_construction" />
         4437  +		<tag k="official_name" v="République française" />
         4438  +		<tag k="official_name:es" v="República francesa" />
         4439  +		<tag k="official_name:fr" v="République française" />
         4440  +		<tag k="official_name:it" v="Repubblica francese" />
         4441  +		<tag k="official_name:nl" v="Franse Republiek" />
         4442  +		<tag k="official_name:sk" v="Francúzska republika" />
         4443  +		<tag k="official_name:sl" v="Francoska republika" />
         4444  +		<tag k="official_name:sv" v="Republiken Frankrike" />
         4445  +		<tag k="timezone" v="Europe/Paris" />
         4446  +		<tag k="TMC:cid_58:tabcd_1:Class" v="Area" />
         4447  +		<tag k="TMC:cid_58:tabcd_1:LCLversion" v="8.00" />
         4448  +		<tag k="TMC:cid_58:tabcd_1:LocationCode" v="2" />
         4449  +		<tag k="type" v="boundary" />
         4450  +	</relation>
         4451  +	<relation id="481133" version="2" changeset="4503471" uid="183561" user="EtienneChoveBot" timestamp="2010-04-23T13:15:01Z">
         4452  +		<member type="node" ref="670063590" role=""/>
         4453  +		<member type="node" ref="670063591" role=""/>
         4454  +		<member type="node" ref="670063592" role=""/>
         4455  +		<member type="node" ref="670063593" role=""/>
         4456  +		<tag k="name" v="Nonza III" />
         4457  +		<tag k="network" v="NTF-4" />
         4458  +		<tag k="ref" v="2B17803" />
         4459  +		<tag k="site" v="geodesic" />
         4460  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         4461  +		<tag k="type" v="site" />
         4462  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_geodesie.asp?num_site=2B17803&#38;X=1220338&#38;Y=6210693" />
         4463  +	</relation>
         4464  +	<relation id="481134" version="2" changeset="4503471" uid="183561" user="EtienneChoveBot" timestamp="2010-04-23T13:15:01Z">
         4465  +		<member type="node" ref="670063594" role=""/>
         4466  +		<member type="node" ref="670063595" role=""/>
         4467  +		<tag k="name" v="Novale I" />
         4468  +		<tag k="network" v="NTF-3" />
         4469  +		<tag k="ref" v="2B17901" />
         4470  +		<tag k="site" v="geodesic" />
         4471  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         4472  +		<tag k="type" v="site" />
         4473  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_geodesie.asp?num_site=2B17901&#38;X=1228146&#38;Y=6154790" />
         4474  +	</relation>
         4475  +	<relation id="481135" version="2" changeset="4503471" uid="183561" user="EtienneChoveBot" timestamp="2010-04-23T13:15:02Z">
         4476  +		<member type="node" ref="670063596" role=""/>
         4477  +		<tag k="name" v="Novale A" />
         4478  +		<tag k="network" v="NTF-5" />
         4479  +		<tag k="ref" v="2B179A" />
         4480  +		<tag k="site" v="geodesic" />
         4481  +		<tag k="source" v="©IGN 2010 dans le cadre de la cartographie réglementaire" />
         4482  +		<tag k="type" v="site" />
         4483  +		<tag k="url" v="http://ancien-geodesie.ign.fr/fiche_geodesie.asp?num_site=2B179A&#38;X=1229165&#38;Y=6155935" />
         4484  +	</relation>
         4485  +	<relation id="2078256" version="1" changeset="10944124" uid="24572" user="sly" timestamp="2012-03-11T15:19:46Z">
         4486  +		<member type="way" ref="154517570" role=""/>
         4487  +		<member type="way" ref="154517592" role=""/>
         4488  +		<member type="way" ref="154517576" role=""/>
         4489  +		<member type="way" ref="154517587" role=""/>
         4490  +		<member type="way" ref="151455428" role=""/>
         4491  +		<tag k="admin_level" v="8" />
         4492  +		<tag k="boundary" v="administrative" />
         4493  +		<tag k="name" v="Tasso" />
         4494  +		<tag k="ref:INSEE" v="2A322" />
         4495  +		<tag k="type" v="boundary" />
         4496  +	</relation>
         4497  +	<relation id="2079808" version="1" changeset="10954753" uid="49047" user="vincent_95" timestamp="2012-03-12T13:27:35Z">
         4498  +		<member type="node" ref="1671955679" role="admin_centre"/>
         4499  +		<member type="way" ref="154700148" role=""/>
         4500  +		<member type="way" ref="140046200" role=""/>
         4501  +		<member type="way" ref="140046196" role=""/>
         4502  +		<tag k="admin_level" v="8" />
         4503  +		<tag k="boundary" v="administrative" />
         4504  +		<tag k="name" v="Vescovato" />
         4505  +		<tag k="population" v="2426" />
         4506  +		<tag k="ref:INSEE" v="2B346" />
         4507  +		<tag k="type" v="boundary" />
         4508  +	</relation>
         4509  +	<relation id="2079867" version="1" changeset="10955031" uid="49047" user="vincent_95" timestamp="2012-03-12T13:53:05Z">
         4510  +		<member type="way" ref="30765212" role=""/>
         4511  +		<member type="way" ref="154705703" role=""/>
         4512  +		<member type="way" ref="154705709" role=""/>
         4513  +		<member type="way" ref="154705695" role=""/>
         4514  +		<member type="node" ref="1671993532" role="admin_centre"/>
         4515  +		<tag k="admin_level" v="8" />
         4516  +		<tag k="boundary" v="administrative" />
         4517  +		<tag k="name" v="San-Martino-di-Lota" />
         4518  +		<tag k="population" v="2792" />
         4519  +		<tag k="ref:INSEE" v="2B305" />
         4520  +		<tag k="type" v="boundary" />
         4521  +	</relation>
         4522  +	<relation id="2079875" version="1" changeset="10955112" uid="49047" user="vincent_95" timestamp="2012-03-12T14:01:19Z">
         4523  +		<member type="node" ref="1672001155" role="admin_centre"/>
         4524  +		<member type="way" ref="154706192" role=""/>
         4525  +		<tag k="admin_level" v="8" />
         4526  +		<tag k="boundary" v="administrative" />
         4527  +		<tag k="name" v="Alzi" />
         4528  +		<tag k="population" v="18" />
         4529  +		<tag k="ref:INSEE" v="2B013" />
         4530  +		<tag k="type" v="boundary" />
         4531  +	</relation>
         4532  +	<relation id="2079889" version="1" changeset="10955280" uid="49047" user="vincent_95" timestamp="2012-03-12T14:16:26Z">
         4533  +		<member type="way" ref="154707799" role=""/>
         4534  +		<member type="way" ref="151455423" role=""/>
         4535  +		<member type="way" ref="154517583" role=""/>
         4536  +		<member type="way" ref="154517570" role=""/>
         4537  +		<member type="way" ref="151456299" role=""/>
         4538  +		<member type="way" ref="151455931" role=""/>
         4539  +		<member type="way" ref="151455928" role=""/>
         4540  +		<member type="way" ref="149186197" role=""/>
         4541  +		<member type="way" ref="154707792" role=""/>
         4542  +		<member type="way" ref="154707793" role=""/>
         4543  +		<member type="node" ref="1280464074" role="admin_centre"/>
         4544  +		<tag k="admin_level" v="8" />
         4545  +		<tag k="boundary" v="administrative" />
         4546  +		<tag k="name" v="Zicavo" />
         4547  +		<tag k="population" v="257" />
         4548  +		<tag k="ref:INSEE" v="2A359" />
         4549  +		<tag k="type" v="boundary" />
         4550  +	</relation>
         4551  +	<relation id="2079910" version="1" changeset="10955365" uid="49047" user="vincent_95" timestamp="2012-03-12T14:23:48Z">
         4552  +		<member type="way" ref="154708691" role=""/>
         4553  +		<member type="way" ref="151455930" role=""/>
         4554  +		<member type="way" ref="151456301" role=""/>
         4555  +		<member type="way" ref="151486220" role=""/>
         4556  +		<member type="way" ref="151486222" role=""/>
         4557  +		<member type="way" ref="149428758" role=""/>
         4558  +		<member type="node" ref="1672040703" role="admin_centre"/>
         4559  +		<tag k="admin_level" v="8" />
         4560  +		<tag k="boundary" v="administrative" />
         4561  +		<tag k="name" v="Zévaco" />
         4562  +		<tag k="population" v="61" />
         4563  +		<tag k="ref:INSEE" v="2A358" />
         4564  +		<tag k="type" v="boundary" />
         4565  +	</relation>
         4566  +	<relation id="2085679" version="1" changeset="10997024" uid="49047" user="vincent_95" timestamp="2012-03-16T10:43:13Z">
         4567  +		<member type="way" ref="155264117" role=""/>
         4568  +		<member type="way" ref="155264114" role=""/>
         4569  +		<member type="way" ref="34561138" role=""/>
         4570  +		<member type="way" ref="155264113" role=""/>
         4571  +		<member type="way" ref="155264116" role=""/>
         4572  +		<member type="way" ref="155264115" role=""/>
         4573  +		<member type="node" ref="1241369454" role="admin_centre"/>
         4574  +		<tag k="addr:postcode" v="20121" />
         4575  +		<tag k="admin_level" v="8" />
         4576  +		<tag k="boundary" v="administrative" />
         4577  +		<tag k="name" v="Azzana" />
         4578  +		<tag k="population" v="54" />
         4579  +		<tag k="ref:INSEE" v="2A027" />
         4580  +		<tag k="type" v="boundary" />
         4581  +	</relation>
         4582  +	<relation id="2085778" version="1" changeset="10997944" uid="49047" user="vincent_95" timestamp="2012-03-16T12:45:20Z">
         4583  +		<member type="node" ref="420154638" role="admin_centre"/>
         4584  +		<member type="way" ref="155275708" role=""/>
         4585  +		<member type="way" ref="155275707" role=""/>
         4586  +		<member type="way" ref="34772381" role=""/>
         4587  +		<member type="way" ref="34772380" role=""/>
         4588  +		<member type="way" ref="155275706" role=""/>
         4589  +		<tag k="addr:postcode" v="20121" />
         4590  +		<tag k="admin_level" v="8" />
         4591  +		<tag k="boundary" v="administrative" />
         4592  +		<tag k="name" v="Pastricciola" />
         4593  +		<tag k="population" v="85" />
         4594  +		<tag k="ref:INSEE" v="2A204" />
         4595  +		<tag k="type" v="boundary" />
         4596  +	</relation>
         4597  +	<relation id="2085782" version="1" changeset="10998033" uid="49047" user="vincent_95" timestamp="2012-03-16T12:54:37Z">
         4598  +		<member type="way" ref="155275710" role=""/>
         4599  +		<member type="way" ref="155264116" role=""/>
         4600  +		<member type="way" ref="155275705" role=""/>
         4601  +		<member type="way" ref="155275707" role=""/>
         4602  +		<member type="node" ref="1241369075" role="admin_centre"/>
         4603  +		<tag k="addr:postcode" v="20121" />
         4604  +		<tag k="admin_level" v="8" />
         4605  +		<tag k="boundary" v="administrative" />
         4606  +		<tag k="name" v="Rezza" />
         4607  +		<tag k="population" v="62" />
         4608  +		<tag k="ref:INSEE" v="2A259" />
         4609  +		<tag k="type" v="boundary" />
         4610  +	</relation>
         4611  +</osm>

Added tests/testdata/test.osm.pbf.

cannot compute difference between binary files