Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Difference From 067ec410fd82f590 To 30da85456a5cbedf
2018-07-29
| ||
14:58 | witching to version 2 - implementing VirtualPG both as a dynamic extension module to SQLite and as a classic C library. check-in: 184b370334 user: sandro tags: trunk | |
2017-06-03
| ||
08:29 | fixing a critical bug causing a program crash check-in: 30da85456a user: sandro tags: trunk | |
2014-08-21
| ||
07:58 | ./configure enhancement: --with-pgconfig=FILE check-in: f83f2af324 user: sandro tags: trunk | |
2013-08-12
| ||
21:19 | initial repository setting check-in: 45643f1ae6 user: sandro tags: trunk | |
21:01 | initial empty check-in check-in: 067ec410fd user: sandro tags: trunk | |
Added AUTHORS.
1 +Original Author: 2 +Alessandro Furieri <a.furieri@lqt.it> 3 +
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 FreeXL library. 448 + 449 + The Initial Developer of the Original Code is Alessandro Furieri. 450 + Portions created by the Initial Developer are Copyright (C) 2011 451 + the Initial Developer. All Rights Reserved. 452 + 453 + Contributor(s): 454 + Brad Hards <bradh@frogmouth.net> 455 + 456 + 457 + Alternatively, the contents of this file may be used under the terms of 458 + either the GNU General Public License Version 2 or later (the "GPL"), or 459 + the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 460 + in which case the provisions of the GPL or the LGPL are applicable instead 461 + of those above. If you wish to allow use of your version of this file only 462 + under the terms of either the GPL or the LGPL, and not to allow others to 463 + use your version of this file under the terms of the MPL, indicate your 464 + decision by deleting the provisions above and replace them with the notice 465 + and other provisions required by the GPL or the LGPL. If you do not delete 466 + the provisions above, a recipient may use your version of this file under 467 + the terms of any one of the MPL, the GPL or the LGPL. 468 + 469 + [NOTE: The text of this Exhibit A may differ slightly from the text of 470 + the notices in the Source Code files of the Original Code. You should 471 + use the text of this Exhibit A rather than the text found in the 472 + Original Code Source Code for Your Modifications.] 473 +
Added ChangeLog.
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 +AUTOMAKE_OPTIONS = dist-zip 4 + 5 +AM_CPPFLAGS = @PG_CFLAGS@ 6 + 7 +lib_LTLIBRARIES = mod_virtualpg.la 8 + 9 +mod_virtualpg_la_SOURCES = virtualpg.c 10 + 11 +mod_virtualpg_la_LDFLAGS = -module -version-info 1:0:0 -no-undefined 12 + 13 +mod_virtualpg_la_LIBTOOLFLAGS = --tag=disable-static
Added Makefile.in.
1 +# Makefile.in generated by automake 1.15 from Makefile.am. 2 +# @configure_input@ 3 + 4 +# Copyright (C) 1994-2014 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 = { \ 19 + if test -z '$(MAKELEVEL)'; then \ 20 + false; \ 21 + elif test -n '$(MAKE_HOST)'; then \ 22 + true; \ 23 + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ 24 + true; \ 25 + else \ 26 + false; \ 27 + fi; \ 28 +} 29 +am__make_running_with_option = \ 30 + case $${target_option-} in \ 31 + ?) ;; \ 32 + *) echo "am__make_running_with_option: internal error: invalid" \ 33 + "target option '$${target_option-}' specified" >&2; \ 34 + exit 1;; \ 35 + esac; \ 36 + has_opt=no; \ 37 + sane_makeflags=$$MAKEFLAGS; \ 38 + if $(am__is_gnu_make); then \ 39 + sane_makeflags=$$MFLAGS; \ 40 + else \ 41 + case $$MAKEFLAGS in \ 42 + *\\[\ \ ]*) \ 43 + bs=\\; \ 44 + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ 45 + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ 46 + esac; \ 47 + fi; \ 48 + skip_next=no; \ 49 + strip_trailopt () \ 50 + { \ 51 + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ 52 + }; \ 53 + for flg in $$sane_makeflags; do \ 54 + test $$skip_next = yes && { skip_next=no; continue; }; \ 55 + case $$flg in \ 56 + *=*|--*) continue;; \ 57 + -*I) strip_trailopt 'I'; skip_next=yes;; \ 58 + -*I?*) strip_trailopt 'I';; \ 59 + -*O) strip_trailopt 'O'; skip_next=yes;; \ 60 + -*O?*) strip_trailopt 'O';; \ 61 + -*l) strip_trailopt 'l'; skip_next=yes;; \ 62 + -*l?*) strip_trailopt 'l';; \ 63 + -[dEDm]) skip_next=yes;; \ 64 + -[JT]) skip_next=yes;; \ 65 + esac; \ 66 + case $$flg in \ 67 + *$$target_option*) has_opt=yes; break;; \ 68 + esac; \ 69 + done; \ 70 + test $$has_opt = yes 71 +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) 72 +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) 73 +pkgdatadir = $(datadir)/@PACKAGE@ 74 +pkgincludedir = $(includedir)/@PACKAGE@ 75 +pkglibdir = $(libdir)/@PACKAGE@ 76 +pkglibexecdir = $(libexecdir)/@PACKAGE@ 77 +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 78 +install_sh_DATA = $(install_sh) -c -m 644 79 +install_sh_PROGRAM = $(install_sh) -c 80 +install_sh_SCRIPT = $(install_sh) -c 81 +INSTALL_HEADER = $(INSTALL_DATA) 82 +transform = $(program_transform_name) 83 +NORMAL_INSTALL = : 84 +PRE_INSTALL = : 85 +POST_INSTALL = : 86 +NORMAL_UNINSTALL = : 87 +PRE_UNINSTALL = : 88 +POST_UNINSTALL = : 89 +build_triplet = @build@ 90 +host_triplet = @host@ 91 +subdir = . 92 +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 93 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ 94 + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ 95 + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ 96 + $(top_srcdir)/configure.ac 97 +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 98 + $(ACLOCAL_M4) 99 +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ 100 + $(am__configure_deps) $(am__DIST_COMMON) 101 +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ 102 + configure.lineno config.status.lineno 103 +mkinstalldirs = $(install_sh) -d 104 +CONFIG_CLEAN_FILES = 105 +CONFIG_CLEAN_VPATH_FILES = 106 +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; 107 +am__vpath_adj = case $$p in \ 108 + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ 109 + *) f=$$p;; \ 110 + esac; 111 +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; 112 +am__install_max = 40 113 +am__nobase_strip_setup = \ 114 + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` 115 +am__nobase_strip = \ 116 + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" 117 +am__nobase_list = $(am__nobase_strip_setup); \ 118 + for p in $$list; do echo "$$p $$p"; done | \ 119 + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ 120 + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ 121 + if (++n[$$2] == $(am__install_max)) \ 122 + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ 123 + END { for (dir in files) print dir, files[dir] }' 124 +am__base_list = \ 125 + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ 126 + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' 127 +am__uninstall_files_from_dir = { \ 128 + test -z "$$files" \ 129 + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ 130 + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ 131 + $(am__cd) "$$dir" && rm -f $$files; }; \ 132 + } 133 +am__installdirs = "$(DESTDIR)$(libdir)" 134 +LTLIBRARIES = $(lib_LTLIBRARIES) 135 +mod_virtualpg_la_LIBADD = 136 +am_mod_virtualpg_la_OBJECTS = mod_virtualpg_la-virtualpg.lo 137 +mod_virtualpg_la_OBJECTS = $(am_mod_virtualpg_la_OBJECTS) 138 +AM_V_lt = $(am__v_lt_@AM_V@) 139 +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 140 +am__v_lt_0 = --silent 141 +am__v_lt_1 = 142 +mod_virtualpg_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ 143 + $(mod_virtualpg_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 144 + $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(mod_virtualpg_la_LDFLAGS) \ 145 + $(LDFLAGS) -o $@ 146 +AM_V_P = $(am__v_P_@AM_V@) 147 +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) 148 +am__v_P_0 = false 149 +am__v_P_1 = : 150 +AM_V_GEN = $(am__v_GEN_@AM_V@) 151 +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 152 +am__v_GEN_0 = @echo " GEN " $@; 153 +am__v_GEN_1 = 154 +AM_V_at = $(am__v_at_@AM_V@) 155 +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) 156 +am__v_at_0 = @ 157 +am__v_at_1 = 158 +DEFAULT_INCLUDES = -I.@am__isrc@ 159 +depcomp = $(SHELL) $(top_srcdir)/depcomp 160 +am__depfiles_maybe = depfiles 161 +am__mv = mv -f 162 +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 163 + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 164 +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 165 + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ 166 + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ 167 + $(AM_CFLAGS) $(CFLAGS) 168 +AM_V_CC = $(am__v_CC_@AM_V@) 169 +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) 170 +am__v_CC_0 = @echo " CC " $@; 171 +am__v_CC_1 = 172 +CCLD = $(CC) 173 +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 174 + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 175 + $(AM_LDFLAGS) $(LDFLAGS) -o $@ 176 +AM_V_CCLD = $(am__v_CCLD_@AM_V@) 177 +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 178 +am__v_CCLD_0 = @echo " CCLD " $@; 179 +am__v_CCLD_1 = 180 +SOURCES = $(mod_virtualpg_la_SOURCES) 181 +DIST_SOURCES = $(mod_virtualpg_la_SOURCES) 182 +am__can_run_installinfo = \ 183 + case $$AM_UPDATE_INFO_DIR in \ 184 + n|no|NO) false;; \ 185 + *) (install-info --version) >/dev/null 2>&1;; \ 186 + esac 187 +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 188 +# Read a list of newline-separated strings from the standard input, 189 +# and print each of them once, without duplicates. Input order is 190 +# *not* preserved. 191 +am__uniquify_input = $(AWK) '\ 192 + BEGIN { nonempty = 0; } \ 193 + { items[$$0] = 1; nonempty = 1; } \ 194 + END { if (nonempty) { for (i in items) print i; }; } \ 195 +' 196 +# Make sure the list of sources is unique. This is necessary because, 197 +# e.g., the same source file might be shared among _SOURCES variables 198 +# for different programs/libraries. 199 +am__define_uniq_tagged_files = \ 200 + list='$(am__tagged_files)'; \ 201 + unique=`for i in $$list; do \ 202 + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 203 + done | $(am__uniquify_input)` 204 +ETAGS = etags 205 +CTAGS = ctags 206 +CSCOPE = cscope 207 +AM_RECURSIVE_TARGETS = cscope 208 +am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \ 209 + INSTALL NEWS README compile config.guess config.sub depcomp \ 210 + install-sh ltmain.sh missing 211 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 212 +distdir = $(PACKAGE)-$(VERSION) 213 +top_distdir = $(distdir) 214 +am__remove_distdir = \ 215 + if test -d "$(distdir)"; then \ 216 + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ 217 + && rm -rf "$(distdir)" \ 218 + || { sleep 5 && rm -rf "$(distdir)"; }; \ 219 + else :; fi 220 +am__post_remove_distdir = $(am__remove_distdir) 221 +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip 222 +GZIP_ENV = --best 223 +DIST_TARGETS = dist-gzip dist-zip 224 +distuninstallcheck_listfiles = find . -type f -print 225 +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ 226 + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' 227 +distcleancheck_listfiles = find . -type f -print 228 +ACLOCAL = @ACLOCAL@ 229 +AMTAR = @AMTAR@ 230 +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 231 +AR = @AR@ 232 +AS = @AS@ 233 +AUTOCONF = @AUTOCONF@ 234 +AUTOHEADER = @AUTOHEADER@ 235 +AUTOMAKE = @AUTOMAKE@ 236 +AWK = @AWK@ 237 +CC = @CC@ 238 +CCDEPMODE = @CCDEPMODE@ 239 +CFLAGS = @CFLAGS@ 240 +CPP = @CPP@ 241 +CPPFLAGS = @CPPFLAGS@ 242 +CXX = @CXX@ 243 +CXXCPP = @CXXCPP@ 244 +CXXDEPMODE = @CXXDEPMODE@ 245 +CXXFLAGS = @CXXFLAGS@ 246 +CYGPATH_W = @CYGPATH_W@ 247 +DEFS = @DEFS@ 248 +DEPDIR = @DEPDIR@ 249 +DLLTOOL = @DLLTOOL@ 250 +DSYMUTIL = @DSYMUTIL@ 251 +DUMPBIN = @DUMPBIN@ 252 +ECHO_C = @ECHO_C@ 253 +ECHO_N = @ECHO_N@ 254 +ECHO_T = @ECHO_T@ 255 +EGREP = @EGREP@ 256 +EXEEXT = @EXEEXT@ 257 +FGREP = @FGREP@ 258 +GREP = @GREP@ 259 +INSTALL = @INSTALL@ 260 +INSTALL_DATA = @INSTALL_DATA@ 261 +INSTALL_PROGRAM = @INSTALL_PROGRAM@ 262 +INSTALL_SCRIPT = @INSTALL_SCRIPT@ 263 +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 264 +LD = @LD@ 265 +LDFLAGS = @LDFLAGS@ 266 +LIBOBJS = @LIBOBJS@ 267 +LIBS = @LIBS@ 268 +LIBTOOL = @LIBTOOL@ 269 +LIPO = @LIPO@ 270 +LN_S = @LN_S@ 271 +LTLIBOBJS = @LTLIBOBJS@ 272 +MAINT = @MAINT@ 273 +MAKEINFO = @MAKEINFO@ 274 +MANIFEST_TOOL = @MANIFEST_TOOL@ 275 +MKDIR_P = @MKDIR_P@ 276 +NM = @NM@ 277 +NMEDIT = @NMEDIT@ 278 +OBJDUMP = @OBJDUMP@ 279 +OBJEXT = @OBJEXT@ 280 +OTOOL = @OTOOL@ 281 +OTOOL64 = @OTOOL64@ 282 +PACKAGE = @PACKAGE@ 283 +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 284 +PACKAGE_NAME = @PACKAGE_NAME@ 285 +PACKAGE_STRING = @PACKAGE_STRING@ 286 +PACKAGE_TARNAME = @PACKAGE_TARNAME@ 287 +PACKAGE_URL = @PACKAGE_URL@ 288 +PACKAGE_VERSION = @PACKAGE_VERSION@ 289 +PATH_SEPARATOR = @PATH_SEPARATOR@ 290 +PGCONFIG = @PGCONFIG@ 291 +PG_CFLAGS = @PG_CFLAGS@ 292 +PG_LDFLAGS = @PG_LDFLAGS@ 293 +RANLIB = @RANLIB@ 294 +SED = @SED@ 295 +SET_MAKE = @SET_MAKE@ 296 +SHELL = @SHELL@ 297 +STRIP = @STRIP@ 298 +VERSION = @VERSION@ 299 +abs_builddir = @abs_builddir@ 300 +abs_srcdir = @abs_srcdir@ 301 +abs_top_builddir = @abs_top_builddir@ 302 +abs_top_srcdir = @abs_top_srcdir@ 303 +ac_ct_AR = @ac_ct_AR@ 304 +ac_ct_CC = @ac_ct_CC@ 305 +ac_ct_CXX = @ac_ct_CXX@ 306 +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 307 +am__include = @am__include@ 308 +am__leading_dot = @am__leading_dot@ 309 +am__quote = @am__quote@ 310 +am__tar = @am__tar@ 311 +am__untar = @am__untar@ 312 +bindir = @bindir@ 313 +build = @build@ 314 +build_alias = @build_alias@ 315 +build_cpu = @build_cpu@ 316 +build_os = @build_os@ 317 +build_vendor = @build_vendor@ 318 +builddir = @builddir@ 319 +datadir = @datadir@ 320 +datarootdir = @datarootdir@ 321 +docdir = @docdir@ 322 +dvidir = @dvidir@ 323 +exec_prefix = @exec_prefix@ 324 +host = @host@ 325 +host_alias = @host_alias@ 326 +host_cpu = @host_cpu@ 327 +host_os = @host_os@ 328 +host_vendor = @host_vendor@ 329 +htmldir = @htmldir@ 330 +includedir = @includedir@ 331 +infodir = @infodir@ 332 +install_sh = @install_sh@ 333 +libdir = @libdir@ 334 +libexecdir = @libexecdir@ 335 +localedir = @localedir@ 336 +localstatedir = @localstatedir@ 337 +mandir = @mandir@ 338 +mkdir_p = @mkdir_p@ 339 +oldincludedir = @oldincludedir@ 340 +pdfdir = @pdfdir@ 341 +prefix = @prefix@ 342 +program_transform_name = @program_transform_name@ 343 +psdir = @psdir@ 344 +sbindir = @sbindir@ 345 +sharedstatedir = @sharedstatedir@ 346 +srcdir = @srcdir@ 347 +sysconfdir = @sysconfdir@ 348 +target_alias = @target_alias@ 349 +top_build_prefix = @top_build_prefix@ 350 +top_builddir = @top_builddir@ 351 +top_srcdir = @top_srcdir@ 352 +ACLOCAL_AMFLAGS = -I m4 353 +AUTOMAKE_OPTIONS = dist-zip 354 +AM_CPPFLAGS = @PG_CFLAGS@ 355 +lib_LTLIBRARIES = mod_virtualpg.la 356 +mod_virtualpg_la_SOURCES = virtualpg.c 357 +mod_virtualpg_la_LDFLAGS = -module -version-info 1:0:0 -no-undefined 358 +mod_virtualpg_la_LIBTOOLFLAGS = --tag=disable-static 359 +all: all-am 360 + 361 +.SUFFIXES: 362 +.SUFFIXES: .c .lo .o .obj 363 +am--refresh: Makefile 364 + @: 365 +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 366 + @for dep in $?; do \ 367 + case '$(am__configure_deps)' in \ 368 + *$$dep*) \ 369 + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ 370 + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ 371 + && exit 0; \ 372 + exit 1;; \ 373 + esac; \ 374 + done; \ 375 + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ 376 + $(am__cd) $(top_srcdir) && \ 377 + $(AUTOMAKE) --foreign Makefile 378 +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 379 + @case '$?' in \ 380 + *config.status*) \ 381 + echo ' $(SHELL) ./config.status'; \ 382 + $(SHELL) ./config.status;; \ 383 + *) \ 384 + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ 385 + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ 386 + esac; 387 + 388 +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 389 + $(SHELL) ./config.status --recheck 390 + 391 +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 392 + $(am__cd) $(srcdir) && $(AUTOCONF) 393 +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 394 + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 395 +$(am__aclocal_m4_deps): 396 + 397 +install-libLTLIBRARIES: $(lib_LTLIBRARIES) 398 + @$(NORMAL_INSTALL) 399 + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 400 + list2=; for p in $$list; do \ 401 + if test -f $$p; then \ 402 + list2="$$list2 $$p"; \ 403 + else :; fi; \ 404 + done; \ 405 + test -z "$$list2" || { \ 406 + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ 407 + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ 408 + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ 409 + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ 410 + } 411 + 412 +uninstall-libLTLIBRARIES: 413 + @$(NORMAL_UNINSTALL) 414 + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 415 + for p in $$list; do \ 416 + $(am__strip_dir) \ 417 + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ 418 + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ 419 + done 420 + 421 +clean-libLTLIBRARIES: 422 + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) 423 + @list='$(lib_LTLIBRARIES)'; \ 424 + locs=`for p in $$list; do echo $$p; done | \ 425 + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ 426 + sort -u`; \ 427 + test -z "$$locs" || { \ 428 + echo rm -f $${locs}; \ 429 + rm -f $${locs}; \ 430 + } 431 + 432 +mod_virtualpg.la: $(mod_virtualpg_la_OBJECTS) $(mod_virtualpg_la_DEPENDENCIES) $(EXTRA_mod_virtualpg_la_DEPENDENCIES) 433 + $(AM_V_CCLD)$(mod_virtualpg_la_LINK) -rpath $(libdir) $(mod_virtualpg_la_OBJECTS) $(mod_virtualpg_la_LIBADD) $(LIBS) 434 + 435 +mostlyclean-compile: 436 + -rm -f *.$(OBJEXT) 437 + 438 +distclean-compile: 439 + -rm -f *.tab.c 440 + 441 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_virtualpg_la-virtualpg.Plo@am__quote@ 442 + 443 +.c.o: 444 +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< 445 +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po 446 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 447 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 448 +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< 449 + 450 +.c.obj: 451 +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` 452 +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po 453 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 454 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 455 +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 456 + 457 +.c.lo: 458 +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< 459 +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo 460 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ 461 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 462 +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< 463 + 464 +mod_virtualpg_la-virtualpg.lo: virtualpg.c 465 +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(mod_virtualpg_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mod_virtualpg_la-virtualpg.lo -MD -MP -MF $(DEPDIR)/mod_virtualpg_la-virtualpg.Tpo -c -o mod_virtualpg_la-virtualpg.lo `test -f 'virtualpg.c' || echo '$(srcdir)/'`virtualpg.c 466 +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mod_virtualpg_la-virtualpg.Tpo $(DEPDIR)/mod_virtualpg_la-virtualpg.Plo 467 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualpg.c' object='mod_virtualpg_la-virtualpg.lo' libtool=yes @AMDEPBACKSLASH@ 468 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 469 +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(mod_virtualpg_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mod_virtualpg_la-virtualpg.lo `test -f 'virtualpg.c' || echo '$(srcdir)/'`virtualpg.c 470 + 471 +mostlyclean-libtool: 472 + -rm -f *.lo 473 + 474 +clean-libtool: 475 + -rm -rf .libs _libs 476 + 477 +distclean-libtool: 478 + -rm -f libtool config.lt 479 + 480 +ID: $(am__tagged_files) 481 + $(am__define_uniq_tagged_files); mkid -fID $$unique 482 +tags: tags-am 483 +TAGS: tags 484 + 485 +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 486 + set x; \ 487 + here=`pwd`; \ 488 + $(am__define_uniq_tagged_files); \ 489 + shift; \ 490 + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ 491 + test -n "$$unique" || unique=$$empty_fix; \ 492 + if test $$# -gt 0; then \ 493 + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 494 + "$$@" $$unique; \ 495 + else \ 496 + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 497 + $$unique; \ 498 + fi; \ 499 + fi 500 +ctags: ctags-am 501 + 502 +CTAGS: ctags 503 +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 504 + $(am__define_uniq_tagged_files); \ 505 + test -z "$(CTAGS_ARGS)$$unique" \ 506 + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ 507 + $$unique 508 + 509 +GTAGS: 510 + here=`$(am__cd) $(top_builddir) && pwd` \ 511 + && $(am__cd) $(top_srcdir) \ 512 + && gtags -i $(GTAGS_ARGS) "$$here" 513 +cscope: cscope.files 514 + test ! -s cscope.files \ 515 + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) 516 +clean-cscope: 517 + -rm -f cscope.files 518 +cscope.files: clean-cscope cscopelist 519 +cscopelist: cscopelist-am 520 + 521 +cscopelist-am: $(am__tagged_files) 522 + list='$(am__tagged_files)'; \ 523 + case "$(srcdir)" in \ 524 + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ 525 + *) sdir=$(subdir)/$(srcdir) ;; \ 526 + esac; \ 527 + for i in $$list; do \ 528 + if test -f "$$i"; then \ 529 + echo "$(subdir)/$$i"; \ 530 + else \ 531 + echo "$$sdir/$$i"; \ 532 + fi; \ 533 + done >> $(top_builddir)/cscope.files 534 + 535 +distclean-tags: 536 + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 537 + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files 538 + 539 +distdir: $(DISTFILES) 540 + $(am__remove_distdir) 541 + test -d "$(distdir)" || mkdir "$(distdir)" 542 + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 543 + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 544 + list='$(DISTFILES)'; \ 545 + dist_files=`for file in $$list; do echo $$file; done | \ 546 + sed -e "s|^$$srcdirstrip/||;t" \ 547 + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 548 + case $$dist_files in \ 549 + */*) $(MKDIR_P) `echo "$$dist_files" | \ 550 + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 551 + sort -u` ;; \ 552 + esac; \ 553 + for file in $$dist_files; do \ 554 + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 555 + if test -d $$d/$$file; then \ 556 + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 557 + if test -d "$(distdir)/$$file"; then \ 558 + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 559 + fi; \ 560 + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 561 + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 562 + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 563 + fi; \ 564 + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 565 + else \ 566 + test -f "$(distdir)/$$file" \ 567 + || cp -p $$d/$$file "$(distdir)/$$file" \ 568 + || exit 1; \ 569 + fi; \ 570 + done 571 + -test -n "$(am__skip_mode_fix)" \ 572 + || find "$(distdir)" -type d ! -perm -755 \ 573 + -exec chmod u+rwx,go+rx {} \; -o \ 574 + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ 575 + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ 576 + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ 577 + || chmod -R a+r "$(distdir)" 578 +dist-gzip: distdir 579 + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz 580 + $(am__post_remove_distdir) 581 + 582 +dist-bzip2: distdir 583 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 584 + $(am__post_remove_distdir) 585 + 586 +dist-lzip: distdir 587 + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz 588 + $(am__post_remove_distdir) 589 + 590 +dist-xz: distdir 591 + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz 592 + $(am__post_remove_distdir) 593 + 594 +dist-tarZ: distdir 595 + @echo WARNING: "Support for distribution archives compressed with" \ 596 + "legacy program 'compress' is deprecated." >&2 597 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 598 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z 599 + $(am__post_remove_distdir) 600 + 601 +dist-shar: distdir 602 + @echo WARNING: "Support for shar distribution archives is" \ 603 + "deprecated." >&2 604 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 605 + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz 606 + $(am__post_remove_distdir) 607 +dist-zip: distdir 608 + -rm -f $(distdir).zip 609 + zip -rq $(distdir).zip $(distdir) 610 + $(am__post_remove_distdir) 611 + 612 +dist dist-all: 613 + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' 614 + $(am__post_remove_distdir) 615 + 616 +# This target untars the dist file and tries a VPATH configuration. Then 617 +# it guarantees that the distribution is self-contained by making another 618 +# tarfile. 619 +distcheck: dist 620 + case '$(DIST_ARCHIVES)' in \ 621 + *.tar.gz*) \ 622 + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ 623 + *.tar.bz2*) \ 624 + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ 625 + *.tar.lz*) \ 626 + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ 627 + *.tar.xz*) \ 628 + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ 629 + *.tar.Z*) \ 630 + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ 631 + *.shar.gz*) \ 632 + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ 633 + *.zip*) \ 634 + unzip $(distdir).zip ;;\ 635 + esac 636 + chmod -R a-w $(distdir) 637 + chmod u+w $(distdir) 638 + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst 639 + chmod a-w $(distdir) 640 + test -d $(distdir)/_build || exit 0; \ 641 + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ 642 + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ 643 + && am__cwd=`pwd` \ 644 + && $(am__cd) $(distdir)/_build/sub \ 645 + && ../../configure \ 646 + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ 647 + $(DISTCHECK_CONFIGURE_FLAGS) \ 648 + --srcdir=../.. --prefix="$$dc_install_base" \ 649 + && $(MAKE) $(AM_MAKEFLAGS) \ 650 + && $(MAKE) $(AM_MAKEFLAGS) dvi \ 651 + && $(MAKE) $(AM_MAKEFLAGS) check \ 652 + && $(MAKE) $(AM_MAKEFLAGS) install \ 653 + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ 654 + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ 655 + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ 656 + distuninstallcheck \ 657 + && chmod -R a-w "$$dc_install_base" \ 658 + && ({ \ 659 + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ 660 + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ 661 + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ 662 + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ 663 + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ 664 + } || { rm -rf "$$dc_destdir"; exit 1; }) \ 665 + && rm -rf "$$dc_destdir" \ 666 + && $(MAKE) $(AM_MAKEFLAGS) dist \ 667 + && rm -rf $(DIST_ARCHIVES) \ 668 + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ 669 + && cd "$$am__cwd" \ 670 + || exit 1 671 + $(am__post_remove_distdir) 672 + @(echo "$(distdir) archives ready for distribution: "; \ 673 + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ 674 + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' 675 +distuninstallcheck: 676 + @test -n '$(distuninstallcheck_dir)' || { \ 677 + echo 'ERROR: trying to run $@ with an empty' \ 678 + '$$(distuninstallcheck_dir)' >&2; \ 679 + exit 1; \ 680 + }; \ 681 + $(am__cd) '$(distuninstallcheck_dir)' || { \ 682 + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ 683 + exit 1; \ 684 + }; \ 685 + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ 686 + || { echo "ERROR: files left after uninstall:" ; \ 687 + if test -n "$(DESTDIR)"; then \ 688 + echo " (check DESTDIR support)"; \ 689 + fi ; \ 690 + $(distuninstallcheck_listfiles) ; \ 691 + exit 1; } >&2 692 +distcleancheck: distclean 693 + @if test '$(srcdir)' = . ; then \ 694 + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ 695 + exit 1 ; \ 696 + fi 697 + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ 698 + || { echo "ERROR: files left in build directory after distclean:" ; \ 699 + $(distcleancheck_listfiles) ; \ 700 + exit 1; } >&2 701 +check-am: all-am 702 +check: check-am 703 +all-am: Makefile $(LTLIBRARIES) 704 +installdirs: 705 + for dir in "$(DESTDIR)$(libdir)"; do \ 706 + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 707 + done 708 +install: install-am 709 +install-exec: install-exec-am 710 +install-data: install-data-am 711 +uninstall: uninstall-am 712 + 713 +install-am: all-am 714 + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 715 + 716 +installcheck: installcheck-am 717 +install-strip: 718 + if test -z '$(STRIP)'; then \ 719 + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 720 + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 721 + install; \ 722 + else \ 723 + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 724 + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 725 + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ 726 + fi 727 +mostlyclean-generic: 728 + 729 +clean-generic: 730 + 731 +distclean-generic: 732 + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 733 + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 734 + 735 +maintainer-clean-generic: 736 + @echo "This command is intended for maintainers to use" 737 + @echo "it deletes files that may require special tools to rebuild." 738 +clean: clean-am 739 + 740 +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ 741 + mostlyclean-am 742 + 743 +distclean: distclean-am 744 + -rm -f $(am__CONFIG_DISTCLEAN_FILES) 745 + -rm -rf ./$(DEPDIR) 746 + -rm -f Makefile 747 +distclean-am: clean-am distclean-compile distclean-generic \ 748 + distclean-libtool distclean-tags 749 + 750 +dvi: dvi-am 751 + 752 +dvi-am: 753 + 754 +html: html-am 755 + 756 +html-am: 757 + 758 +info: info-am 759 + 760 +info-am: 761 + 762 +install-data-am: 763 + 764 +install-dvi: install-dvi-am 765 + 766 +install-dvi-am: 767 + 768 +install-exec-am: install-libLTLIBRARIES 769 + 770 +install-html: install-html-am 771 + 772 +install-html-am: 773 + 774 +install-info: install-info-am 775 + 776 +install-info-am: 777 + 778 +install-man: 779 + 780 +install-pdf: install-pdf-am 781 + 782 +install-pdf-am: 783 + 784 +install-ps: install-ps-am 785 + 786 +install-ps-am: 787 + 788 +installcheck-am: 789 + 790 +maintainer-clean: maintainer-clean-am 791 + -rm -f $(am__CONFIG_DISTCLEAN_FILES) 792 + -rm -rf $(top_srcdir)/autom4te.cache 793 + -rm -rf ./$(DEPDIR) 794 + -rm -f Makefile 795 +maintainer-clean-am: distclean-am maintainer-clean-generic 796 + 797 +mostlyclean: mostlyclean-am 798 + 799 +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 800 + mostlyclean-libtool 801 + 802 +pdf: pdf-am 803 + 804 +pdf-am: 805 + 806 +ps: ps-am 807 + 808 +ps-am: 809 + 810 +uninstall-am: uninstall-libLTLIBRARIES 811 + 812 +.MAKE: install-am install-strip 813 + 814 +.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \ 815 + clean-cscope clean-generic clean-libLTLIBRARIES clean-libtool \ 816 + cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ 817 + dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ 818 + distcheck distclean distclean-compile distclean-generic \ 819 + distclean-libtool distclean-tags distcleancheck distdir \ 820 + distuninstallcheck dvi dvi-am html html-am info info-am \ 821 + install install-am install-data install-data-am install-dvi \ 822 + install-dvi-am install-exec install-exec-am install-html \ 823 + install-html-am install-info install-info-am \ 824 + install-libLTLIBRARIES install-man install-pdf install-pdf-am \ 825 + install-ps install-ps-am install-strip installcheck \ 826 + installcheck-am installdirs maintainer-clean \ 827 + maintainer-clean-generic mostlyclean mostlyclean-compile \ 828 + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 829 + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES 830 + 831 +.PRECIOUS: Makefile 832 + 833 + 834 +# Tell versions [3.59,3.63) of GNU make to not export all variables. 835 +# Otherwise a system limit (for SysV at least) may be exceeded. 836 +.NOEXPORT:
Added NEWS.
Added README.
1 +virtualpg is a dynamic extension for the SQLite DBMS. 2 +it implements the VirtualPostgres driver, allowing to 3 +directly exchange data between SQLite and PostgreSQL; 4 +if SpatiaLite is available even PostGIS geometries 5 +can ben exchanged form one Spatial DBMS and the other. 6 +
Added aclocal.m4.
1 +# generated automatically by aclocal 1.15 -*- Autoconf -*- 2 + 3 +# Copyright (C) 1996-2014 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-2014 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.15' 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.15], [], 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.15])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-2014 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 +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 107 +# Expand $ac_aux_dir to an absolute path. 108 +am_aux_dir=`cd "$ac_aux_dir" && pwd` 109 +]) 110 + 111 +# AM_CONDITIONAL -*- Autoconf -*- 112 + 113 +# Copyright (C) 1997-2014 Free Software Foundation, Inc. 114 +# 115 +# This file is free software; the Free Software Foundation 116 +# gives unlimited permission to copy and/or distribute it, 117 +# with or without modifications, as long as this notice is preserved. 118 + 119 +# AM_CONDITIONAL(NAME, SHELL-CONDITION) 120 +# ------------------------------------- 121 +# Define a conditional. 122 +AC_DEFUN([AM_CONDITIONAL], 123 +[AC_PREREQ([2.52])dnl 124 + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], 125 + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl 126 +AC_SUBST([$1_TRUE])dnl 127 +AC_SUBST([$1_FALSE])dnl 128 +_AM_SUBST_NOTMAKE([$1_TRUE])dnl 129 +_AM_SUBST_NOTMAKE([$1_FALSE])dnl 130 +m4_define([_AM_COND_VALUE_$1], [$2])dnl 131 +if $2; then 132 + $1_TRUE= 133 + $1_FALSE='#' 134 +else 135 + $1_TRUE='#' 136 + $1_FALSE= 137 +fi 138 +AC_CONFIG_COMMANDS_PRE( 139 +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then 140 + AC_MSG_ERROR([[conditional "$1" was never defined. 141 +Usually this means the macro was only invoked conditionally.]]) 142 +fi])]) 143 + 144 +# Copyright (C) 1999-2014 Free Software Foundation, Inc. 145 +# 146 +# This file is free software; the Free Software Foundation 147 +# gives unlimited permission to copy and/or distribute it, 148 +# with or without modifications, as long as this notice is preserved. 149 + 150 + 151 +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be 152 +# written in clear, in which case automake, when reading aclocal.m4, 153 +# will think it sees a *use*, and therefore will trigger all it's 154 +# C support machinery. Also note that it means that autoscan, seeing 155 +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... 156 + 157 + 158 +# _AM_DEPENDENCIES(NAME) 159 +# ---------------------- 160 +# See how the compiler implements dependency checking. 161 +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". 162 +# We try a few techniques and use that to set a single cache variable. 163 +# 164 +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was 165 +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular 166 +# dependency, and given that the user is not expected to run this macro, 167 +# just rely on AC_PROG_CC. 168 +AC_DEFUN([_AM_DEPENDENCIES], 169 +[AC_REQUIRE([AM_SET_DEPDIR])dnl 170 +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl 171 +AC_REQUIRE([AM_MAKE_INCLUDE])dnl 172 +AC_REQUIRE([AM_DEP_TRACK])dnl 173 + 174 +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], 175 + [$1], [CXX], [depcc="$CXX" am_compiler_list=], 176 + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], 177 + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], 178 + [$1], [UPC], [depcc="$UPC" am_compiler_list=], 179 + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], 180 + [depcc="$$1" am_compiler_list=]) 181 + 182 +AC_CACHE_CHECK([dependency style of $depcc], 183 + [am_cv_$1_dependencies_compiler_type], 184 +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then 185 + # We make a subdir and do the tests there. Otherwise we can end up 186 + # making bogus files that we don't know about and never remove. For 187 + # instance it was reported that on HP-UX the gcc test will end up 188 + # making a dummy file named 'D' -- because '-MD' means "put the output 189 + # in D". 190 + rm -rf conftest.dir 191 + mkdir conftest.dir 192 + # Copy depcomp to subdir because otherwise we won't find it if we're 193 + # using a relative directory. 194 + cp "$am_depcomp" conftest.dir 195 + cd conftest.dir 196 + # We will build objects and dependencies in a subdirectory because 197 + # it helps to detect inapplicable dependency modes. For instance 198 + # both Tru64's cc and ICC support -MD to output dependencies as a 199 + # side effect of compilation, but ICC will put the dependencies in 200 + # the current directory while Tru64 will put them in the object 201 + # directory. 202 + mkdir sub 203 + 204 + am_cv_$1_dependencies_compiler_type=none 205 + if test "$am_compiler_list" = ""; then 206 + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` 207 + fi 208 + am__universal=false 209 + m4_case([$1], [CC], 210 + [case " $depcc " in #( 211 + *\ -arch\ *\ -arch\ *) am__universal=true ;; 212 + esac], 213 + [CXX], 214 + [case " $depcc " in #( 215 + *\ -arch\ *\ -arch\ *) am__universal=true ;; 216 + esac]) 217 + 218 + for depmode in $am_compiler_list; do 219 + # Setup a source with many dependencies, because some compilers 220 + # like to wrap large dependency lists on column 80 (with \), and 221 + # we should not choose a depcomp mode which is confused by this. 222 + # 223 + # We need to recreate these files for each test, as the compiler may 224 + # overwrite some of them when testing with obscure command lines. 225 + # This happens at least with the AIX C compiler. 226 + : > sub/conftest.c 227 + for i in 1 2 3 4 5 6; do 228 + echo '#include "conftst'$i'.h"' >> sub/conftest.c 229 + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with 230 + # Solaris 10 /bin/sh. 231 + echo '/* dummy */' > sub/conftst$i.h 232 + done 233 + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf 234 + 235 + # We check with '-c' and '-o' for the sake of the "dashmstdout" 236 + # mode. It turns out that the SunPro C++ compiler does not properly 237 + # handle '-M -o', and we need to detect this. Also, some Intel 238 + # versions had trouble with output in subdirs. 239 + am__obj=sub/conftest.${OBJEXT-o} 240 + am__minus_obj="-o $am__obj" 241 + case $depmode in 242 + gcc) 243 + # This depmode causes a compiler race in universal mode. 244 + test "$am__universal" = false || continue 245 + ;; 246 + nosideeffect) 247 + # After this tag, mechanisms are not by side-effect, so they'll 248 + # only be used when explicitly requested. 249 + if test "x$enable_dependency_tracking" = xyes; then 250 + continue 251 + else 252 + break 253 + fi 254 + ;; 255 + msvc7 | msvc7msys | msvisualcpp | msvcmsys) 256 + # This compiler won't grok '-c -o', but also, the minuso test has 257 + # not run yet. These depmodes are late enough in the game, and 258 + # so weak that their functioning should not be impacted. 259 + am__obj=conftest.${OBJEXT-o} 260 + am__minus_obj= 261 + ;; 262 + none) break ;; 263 + esac 264 + if depmode=$depmode \ 265 + source=sub/conftest.c object=$am__obj \ 266 + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ 267 + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ 268 + >/dev/null 2>conftest.err && 269 + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && 270 + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && 271 + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && 272 + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then 273 + # icc doesn't choke on unknown options, it will just issue warnings 274 + # or remarks (even with -Werror). So we grep stderr for any message 275 + # that says an option was ignored or not supported. 276 + # When given -MP, icc 7.0 and 7.1 complain thusly: 277 + # icc: Command line warning: ignoring option '-M'; no argument required 278 + # The diagnosis changed in icc 8.0: 279 + # icc: Command line remark: option '-MP' not supported 280 + if (grep 'ignoring option' conftest.err || 281 + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else 282 + am_cv_$1_dependencies_compiler_type=$depmode 283 + break 284 + fi 285 + fi 286 + done 287 + 288 + cd .. 289 + rm -rf conftest.dir 290 +else 291 + am_cv_$1_dependencies_compiler_type=none 292 +fi 293 +]) 294 +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) 295 +AM_CONDITIONAL([am__fastdep$1], [ 296 + test "x$enable_dependency_tracking" != xno \ 297 + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) 298 +]) 299 + 300 + 301 +# AM_SET_DEPDIR 302 +# ------------- 303 +# Choose a directory name for dependency files. 304 +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. 305 +AC_DEFUN([AM_SET_DEPDIR], 306 +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl 307 +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl 308 +]) 309 + 310 + 311 +# AM_DEP_TRACK 312 +# ------------ 313 +AC_DEFUN([AM_DEP_TRACK], 314 +[AC_ARG_ENABLE([dependency-tracking], [dnl 315 +AS_HELP_STRING( 316 + [--enable-dependency-tracking], 317 + [do not reject slow dependency extractors]) 318 +AS_HELP_STRING( 319 + [--disable-dependency-tracking], 320 + [speeds up one-time build])]) 321 +if test "x$enable_dependency_tracking" != xno; then 322 + am_depcomp="$ac_aux_dir/depcomp" 323 + AMDEPBACKSLASH='\' 324 + am__nodep='_no' 325 +fi 326 +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) 327 +AC_SUBST([AMDEPBACKSLASH])dnl 328 +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl 329 +AC_SUBST([am__nodep])dnl 330 +_AM_SUBST_NOTMAKE([am__nodep])dnl 331 +]) 332 + 333 +# Generate code to set up dependency tracking. -*- Autoconf -*- 334 + 335 +# Copyright (C) 1999-2014 Free Software Foundation, Inc. 336 +# 337 +# This file is free software; the Free Software Foundation 338 +# gives unlimited permission to copy and/or distribute it, 339 +# with or without modifications, as long as this notice is preserved. 340 + 341 + 342 +# _AM_OUTPUT_DEPENDENCY_COMMANDS 343 +# ------------------------------ 344 +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], 345 +[{ 346 + # Older Autoconf quotes --file arguments for eval, but not when files 347 + # are listed without --file. Let's play safe and only enable the eval 348 + # if we detect the quoting. 349 + case $CONFIG_FILES in 350 + *\'*) eval set x "$CONFIG_FILES" ;; 351 + *) set x $CONFIG_FILES ;; 352 + esac 353 + shift 354 + for mf 355 + do 356 + # Strip MF so we end up with the name of the file. 357 + mf=`echo "$mf" | sed -e 's/:.*$//'` 358 + # Check whether this is an Automake generated Makefile or not. 359 + # We used to match only the files named 'Makefile.in', but 360 + # some people rename them; so instead we look at the file content. 361 + # Grep'ing the first line is not enough: some people post-process 362 + # each Makefile.in and add a new line on top of each file to say so. 363 + # Grep'ing the whole file is not good either: AIX grep has a line 364 + # limit of 2048, but all sed's we know have understand at least 4000. 365 + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then 366 + dirpart=`AS_DIRNAME("$mf")` 367 + else 368 + continue 369 + fi 370 + # Extract the definition of DEPDIR, am__include, and am__quote 371 + # from the Makefile without running 'make'. 372 + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` 373 + test -z "$DEPDIR" && continue 374 + am__include=`sed -n 's/^am__include = //p' < "$mf"` 375 + test -z "$am__include" && continue 376 + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` 377 + # Find all dependency output files, they are included files with 378 + # $(DEPDIR) in their names. We invoke sed twice because it is the 379 + # simplest approach to changing $(DEPDIR) to its actual value in the 380 + # expansion. 381 + for file in `sed -n " 382 + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ 383 + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do 384 + # Make sure the directory exists. 385 + test -f "$dirpart/$file" && continue 386 + fdir=`AS_DIRNAME(["$file"])` 387 + AS_MKDIR_P([$dirpart/$fdir]) 388 + # echo "creating $dirpart/$file" 389 + echo '# dummy' > "$dirpart/$file" 390 + done 391 + done 392 +} 393 +])# _AM_OUTPUT_DEPENDENCY_COMMANDS 394 + 395 + 396 +# AM_OUTPUT_DEPENDENCY_COMMANDS 397 +# ----------------------------- 398 +# This macro should only be invoked once -- use via AC_REQUIRE. 399 +# 400 +# This code is only required when automatic dependency tracking 401 +# is enabled. FIXME. This creates each '.P' file that we will 402 +# need in order to bootstrap the dependency handling code. 403 +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], 404 +[AC_CONFIG_COMMANDS([depfiles], 405 + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], 406 + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) 407 +]) 408 + 409 +# Do all the work for Automake. -*- Autoconf -*- 410 + 411 +# Copyright (C) 1996-2014 Free Software Foundation, Inc. 412 +# 413 +# This file is free software; the Free Software Foundation 414 +# gives unlimited permission to copy and/or distribute it, 415 +# with or without modifications, as long as this notice is preserved. 416 + 417 +# This macro actually does too much. Some checks are only needed if 418 +# your package does certain things. But this isn't really a big deal. 419 + 420 +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. 421 +m4_define([AC_PROG_CC], 422 +m4_defn([AC_PROG_CC]) 423 +[_AM_PROG_CC_C_O 424 +]) 425 + 426 +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) 427 +# AM_INIT_AUTOMAKE([OPTIONS]) 428 +# ----------------------------------------------- 429 +# The call with PACKAGE and VERSION arguments is the old style 430 +# call (pre autoconf-2.50), which is being phased out. PACKAGE 431 +# and VERSION should now be passed to AC_INIT and removed from 432 +# the call to AM_INIT_AUTOMAKE. 433 +# We support both call styles for the transition. After 434 +# the next Automake release, Autoconf can make the AC_INIT 435 +# arguments mandatory, and then we can depend on a new Autoconf 436 +# release and drop the old call support. 437 +AC_DEFUN([AM_INIT_AUTOMAKE], 438 +[AC_PREREQ([2.65])dnl 439 +dnl Autoconf wants to disallow AM_ names. We explicitly allow 440 +dnl the ones we care about. 441 +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl 442 +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl 443 +AC_REQUIRE([AC_PROG_INSTALL])dnl 444 +if test "`cd $srcdir && pwd`" != "`pwd`"; then 445 + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output 446 + # is not polluted with repeated "-I." 447 + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl 448 + # test to see if srcdir already configured 449 + if test -f $srcdir/config.status; then 450 + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) 451 + fi 452 +fi 453 + 454 +# test whether we have cygpath 455 +if test -z "$CYGPATH_W"; then 456 + if (cygpath --version) >/dev/null 2>/dev/null; then 457 + CYGPATH_W='cygpath -w' 458 + else 459 + CYGPATH_W=echo 460 + fi 461 +fi 462 +AC_SUBST([CYGPATH_W]) 463 + 464 +# Define the identity of the package. 465 +dnl Distinguish between old-style and new-style calls. 466 +m4_ifval([$2], 467 +[AC_DIAGNOSE([obsolete], 468 + [$0: two- and three-arguments forms are deprecated.]) 469 +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl 470 + AC_SUBST([PACKAGE], [$1])dnl 471 + AC_SUBST([VERSION], [$2])], 472 +[_AM_SET_OPTIONS([$1])dnl 473 +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. 474 +m4_if( 475 + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), 476 + [ok:ok],, 477 + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl 478 + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl 479 + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl 480 + 481 +_AM_IF_OPTION([no-define],, 482 +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) 483 + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl 484 + 485 +# Some tools Automake needs. 486 +AC_REQUIRE([AM_SANITY_CHECK])dnl 487 +AC_REQUIRE([AC_ARG_PROGRAM])dnl 488 +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) 489 +AM_MISSING_PROG([AUTOCONF], [autoconf]) 490 +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) 491 +AM_MISSING_PROG([AUTOHEADER], [autoheader]) 492 +AM_MISSING_PROG([MAKEINFO], [makeinfo]) 493 +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl 494 +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl 495 +AC_REQUIRE([AC_PROG_MKDIR_P])dnl 496 +# For better backward compatibility. To be removed once Automake 1.9.x 497 +# dies out for good. For more background, see: 498 +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> 499 +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> 500 +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) 501 +# We need awk for the "check" target (and possibly the TAP driver). The 502 +# system "awk" is bad on some platforms. 503 +AC_REQUIRE([AC_PROG_AWK])dnl 504 +AC_REQUIRE([AC_PROG_MAKE_SET])dnl 505 +AC_REQUIRE([AM_SET_LEADING_DOT])dnl 506 +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], 507 + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], 508 + [_AM_PROG_TAR([v7])])]) 509 +_AM_IF_OPTION([no-dependencies],, 510 +[AC_PROVIDE_IFELSE([AC_PROG_CC], 511 + [_AM_DEPENDENCIES([CC])], 512 + [m4_define([AC_PROG_CC], 513 + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl 514 +AC_PROVIDE_IFELSE([AC_PROG_CXX], 515 + [_AM_DEPENDENCIES([CXX])], 516 + [m4_define([AC_PROG_CXX], 517 + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl 518 +AC_PROVIDE_IFELSE([AC_PROG_OBJC], 519 + [_AM_DEPENDENCIES([OBJC])], 520 + [m4_define([AC_PROG_OBJC], 521 + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl 522 +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], 523 + [_AM_DEPENDENCIES([OBJCXX])], 524 + [m4_define([AC_PROG_OBJCXX], 525 + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl 526 +]) 527 +AC_REQUIRE([AM_SILENT_RULES])dnl 528 +dnl The testsuite driver may need to know about EXEEXT, so add the 529 +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This 530 +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. 531 +AC_CONFIG_COMMANDS_PRE(dnl 532 +[m4_provide_if([_AM_COMPILER_EXEEXT], 533 + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl 534 + 535 +# POSIX will say in a future version that running "rm -f" with no argument 536 +# is OK; and we want to be able to make that assumption in our Makefile 537 +# recipes. So use an aggressive probe to check that the usage we want is 538 +# actually supported "in the wild" to an acceptable degree. 539 +# See automake bug#10828. 540 +# To make any issue more visible, cause the running configure to be aborted 541 +# by default if the 'rm' program in use doesn't match our expectations; the 542 +# user can still override this though. 543 +if rm -f && rm -fr && rm -rf; then : OK; else 544 + cat >&2 <<'END' 545 +Oops! 546 + 547 +Your 'rm' program seems unable to run without file operands specified 548 +on the command line, even when the '-f' option is present. This is contrary 549 +to the behaviour of most rm programs out there, and not conforming with 550 +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> 551 + 552 +Please tell bug-automake@gnu.org about your system, including the value 553 +of your $PATH and any error possibly output before this message. This 554 +can help us improve future automake versions. 555 + 556 +END 557 + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then 558 + echo 'Configuration will proceed anyway, since you have set the' >&2 559 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 560 + echo >&2 561 + else 562 + cat >&2 <<'END' 563 +Aborting the configuration process, to ensure you take notice of the issue. 564 + 565 +You can download and install GNU coreutils to get an 'rm' implementation 566 +that behaves properly: <http://www.gnu.org/software/coreutils/>. 567 + 568 +If you want to complete the configuration process using your problematic 569 +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM 570 +to "yes", and re-run configure. 571 + 572 +END 573 + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) 574 + fi 575 +fi 576 +dnl The trailing newline in this macro's definition is deliberate, for 577 +dnl backward compatibility and to allow trailing 'dnl'-style comments 578 +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. 579 +]) 580 + 581 +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not 582 +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further 583 +dnl mangled by Autoconf and run in a shell conditional statement. 584 +m4_define([_AC_COMPILER_EXEEXT], 585 +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) 586 + 587 +# When config.status generates a header, we must update the stamp-h file. 588 +# This file resides in the same directory as the config header 589 +# that is generated. The stamp files are numbered to have different names. 590 + 591 +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the 592 +# loop where config.status creates the headers, so we can generate 593 +# our stamp files there. 594 +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], 595 +[# Compute $1's index in $config_headers. 596 +_am_arg=$1 597 +_am_stamp_count=1 598 +for _am_header in $config_headers :; do 599 + case $_am_header in 600 + $_am_arg | $_am_arg:* ) 601 + break ;; 602 + * ) 603 + _am_stamp_count=`expr $_am_stamp_count + 1` ;; 604 + esac 605 +done 606 +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) 607 + 608 +# Copyright (C) 2001-2014 Free Software Foundation, Inc. 609 +# 610 +# This file is free software; the Free Software Foundation 611 +# gives unlimited permission to copy and/or distribute it, 612 +# with or without modifications, as long as this notice is preserved. 613 + 614 +# AM_PROG_INSTALL_SH 615 +# ------------------ 616 +# Define $install_sh. 617 +AC_DEFUN([AM_PROG_INSTALL_SH], 618 +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 619 +if test x"${install_sh+set}" != xset; then 620 + case $am_aux_dir in 621 + *\ * | *\ *) 622 + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; 623 + *) 624 + install_sh="\${SHELL} $am_aux_dir/install-sh" 625 + esac 626 +fi 627 +AC_SUBST([install_sh])]) 628 + 629 +# Copyright (C) 2003-2014 Free Software Foundation, Inc. 630 +# 631 +# This file is free software; the Free Software Foundation 632 +# gives unlimited permission to copy and/or distribute it, 633 +# with or without modifications, as long as this notice is preserved. 634 + 635 +# Check whether the underlying file-system supports filenames 636 +# with a leading dot. For instance MS-DOS doesn't. 637 +AC_DEFUN([AM_SET_LEADING_DOT], 638 +[rm -rf .tst 2>/dev/null 639 +mkdir .tst 2>/dev/null 640 +if test -d .tst; then 641 + am__leading_dot=. 642 +else 643 + am__leading_dot=_ 644 +fi 645 +rmdir .tst 2>/dev/null 646 +AC_SUBST([am__leading_dot])]) 647 + 648 +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- 649 +# From Jim Meyering 650 + 651 +# Copyright (C) 1996-2014 Free Software Foundation, Inc. 652 +# 653 +# This file is free software; the Free Software Foundation 654 +# gives unlimited permission to copy and/or distribute it, 655 +# with or without modifications, as long as this notice is preserved. 656 + 657 +# AM_MAINTAINER_MODE([DEFAULT-MODE]) 658 +# ---------------------------------- 659 +# Control maintainer-specific portions of Makefiles. 660 +# Default is to disable them, unless 'enable' is passed literally. 661 +# For symmetry, 'disable' may be passed as well. Anyway, the user 662 +# can override the default with the --enable/--disable switch. 663 +AC_DEFUN([AM_MAINTAINER_MODE], 664 +[m4_case(m4_default([$1], [disable]), 665 + [enable], [m4_define([am_maintainer_other], [disable])], 666 + [disable], [m4_define([am_maintainer_other], [enable])], 667 + [m4_define([am_maintainer_other], [enable]) 668 + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) 669 +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) 670 + dnl maintainer-mode's default is 'disable' unless 'enable' is passed 671 + AC_ARG_ENABLE([maintainer-mode], 672 + [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], 673 + am_maintainer_other[ make rules and dependencies not useful 674 + (and sometimes confusing) to the casual installer])], 675 + [USE_MAINTAINER_MODE=$enableval], 676 + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) 677 + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) 678 + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) 679 + MAINT=$MAINTAINER_MODE_TRUE 680 + AC_SUBST([MAINT])dnl 681 +] 682 +) 683 + 684 +# Check to see how 'make' treats includes. -*- Autoconf -*- 685 + 686 +# Copyright (C) 2001-2014 Free Software Foundation, Inc. 687 +# 688 +# This file is free software; the Free Software Foundation 689 +# gives unlimited permission to copy and/or distribute it, 690 +# with or without modifications, as long as this notice is preserved. 691 + 692 +# AM_MAKE_INCLUDE() 693 +# ----------------- 694 +# Check to see how make treats includes. 695 +AC_DEFUN([AM_MAKE_INCLUDE], 696 +[am_make=${MAKE-make} 697 +cat > confinc << 'END' 698 +am__doit: 699 + @echo this is the am__doit target 700 +.PHONY: am__doit 701 +END 702 +# If we don't find an include directive, just comment out the code. 703 +AC_MSG_CHECKING([for style of include used by $am_make]) 704 +am__include="#" 705 +am__quote= 706 +_am_result=none 707 +# First try GNU make style include. 708 +echo "include confinc" > confmf 709 +# Ignore all kinds of additional output from 'make'. 710 +case `$am_make -s -f confmf 2> /dev/null` in #( 711 +*the\ am__doit\ target*) 712 + am__include=include 713 + am__quote= 714 + _am_result=GNU 715 + ;; 716 +esac 717 +# Now try BSD make style include. 718 +if test "$am__include" = "#"; then 719 + echo '.include "confinc"' > confmf 720 + case `$am_make -s -f confmf 2> /dev/null` in #( 721 + *the\ am__doit\ target*) 722 + am__include=.include 723 + am__quote="\"" 724 + _am_result=BSD 725 + ;; 726 + esac 727 +fi 728 +AC_SUBST([am__include]) 729 +AC_SUBST([am__quote]) 730 +AC_MSG_RESULT([$_am_result]) 731 +rm -f confinc confmf 732 +]) 733 + 734 +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- 735 + 736 +# Copyright (C) 1997-2014 Free Software Foundation, Inc. 737 +# 738 +# This file is free software; the Free Software Foundation 739 +# gives unlimited permission to copy and/or distribute it, 740 +# with or without modifications, as long as this notice is preserved. 741 + 742 +# AM_MISSING_PROG(NAME, PROGRAM) 743 +# ------------------------------ 744 +AC_DEFUN([AM_MISSING_PROG], 745 +[AC_REQUIRE([AM_MISSING_HAS_RUN]) 746 +$1=${$1-"${am_missing_run}$2"} 747 +AC_SUBST($1)]) 748 + 749 +# AM_MISSING_HAS_RUN 750 +# ------------------ 751 +# Define MISSING if not defined so far and test if it is modern enough. 752 +# If it is, set am_missing_run to use it, otherwise, to nothing. 753 +AC_DEFUN([AM_MISSING_HAS_RUN], 754 +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 755 +AC_REQUIRE_AUX_FILE([missing])dnl 756 +if test x"${MISSING+set}" != xset; then 757 + case $am_aux_dir in 758 + *\ * | *\ *) 759 + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; 760 + *) 761 + MISSING="\${SHELL} $am_aux_dir/missing" ;; 762 + esac 763 +fi 764 +# Use eval to expand $SHELL 765 +if eval "$MISSING --is-lightweight"; then 766 + am_missing_run="$MISSING " 767 +else 768 + am_missing_run= 769 + AC_MSG_WARN(['missing' script is too old or missing]) 770 +fi 771 +]) 772 + 773 +# Helper functions for option handling. -*- Autoconf -*- 774 + 775 +# Copyright (C) 2001-2014 Free Software Foundation, Inc. 776 +# 777 +# This file is free software; the Free Software Foundation 778 +# gives unlimited permission to copy and/or distribute it, 779 +# with or without modifications, as long as this notice is preserved. 780 + 781 +# _AM_MANGLE_OPTION(NAME) 782 +# ----------------------- 783 +AC_DEFUN([_AM_MANGLE_OPTION], 784 +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) 785 + 786 +# _AM_SET_OPTION(NAME) 787 +# -------------------- 788 +# Set option NAME. Presently that only means defining a flag for this option. 789 +AC_DEFUN([_AM_SET_OPTION], 790 +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) 791 + 792 +# _AM_SET_OPTIONS(OPTIONS) 793 +# ------------------------ 794 +# OPTIONS is a space-separated list of Automake options. 795 +AC_DEFUN([_AM_SET_OPTIONS], 796 +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) 797 + 798 +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) 799 +# ------------------------------------------- 800 +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. 801 +AC_DEFUN([_AM_IF_OPTION], 802 +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) 803 + 804 +# Copyright (C) 1999-2014 Free Software Foundation, Inc. 805 +# 806 +# This file is free software; the Free Software Foundation 807 +# gives unlimited permission to copy and/or distribute it, 808 +# with or without modifications, as long as this notice is preserved. 809 + 810 +# _AM_PROG_CC_C_O 811 +# --------------- 812 +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC 813 +# to automatically call this. 814 +AC_DEFUN([_AM_PROG_CC_C_O], 815 +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 816 +AC_REQUIRE_AUX_FILE([compile])dnl 817 +AC_LANG_PUSH([C])dnl 818 +AC_CACHE_CHECK( 819 + [whether $CC understands -c and -o together], 820 + [am_cv_prog_cc_c_o], 821 + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) 822 + # Make sure it works both with $CC and with simple cc. 823 + # Following AC_PROG_CC_C_O, we do the test twice because some 824 + # compilers refuse to overwrite an existing .o file with -o, 825 + # though they will create one. 826 + am_cv_prog_cc_c_o=yes 827 + for am_i in 1 2; do 828 + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ 829 + && test -f conftest2.$ac_objext; then 830 + : OK 831 + else 832 + am_cv_prog_cc_c_o=no 833 + break 834 + fi 835 + done 836 + rm -f core conftest* 837 + unset am_i]) 838 +if test "$am_cv_prog_cc_c_o" != yes; then 839 + # Losing compiler, so override with the script. 840 + # FIXME: It is wrong to rewrite CC. 841 + # But if we don't then we get into trouble of one sort or another. 842 + # A longer-term fix would be to have automake use am__CC in this case, 843 + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" 844 + CC="$am_aux_dir/compile $CC" 845 +fi 846 +AC_LANG_POP([C])]) 847 + 848 +# For backward compatibility. 849 +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) 850 + 851 +# Copyright (C) 2001-2014 Free Software Foundation, Inc. 852 +# 853 +# This file is free software; the Free Software Foundation 854 +# gives unlimited permission to copy and/or distribute it, 855 +# with or without modifications, as long as this notice is preserved. 856 + 857 +# AM_RUN_LOG(COMMAND) 858 +# ------------------- 859 +# Run COMMAND, save the exit status in ac_status, and log it. 860 +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) 861 +AC_DEFUN([AM_RUN_LOG], 862 +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD 863 + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD 864 + ac_status=$? 865 + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 866 + (exit $ac_status); }]) 867 + 868 +# Check to make sure that the build environment is sane. -*- Autoconf -*- 869 + 870 +# Copyright (C) 1996-2014 Free Software Foundation, Inc. 871 +# 872 +# This file is free software; the Free Software Foundation 873 +# gives unlimited permission to copy and/or distribute it, 874 +# with or without modifications, as long as this notice is preserved. 875 + 876 +# AM_SANITY_CHECK 877 +# --------------- 878 +AC_DEFUN([AM_SANITY_CHECK], 879 +[AC_MSG_CHECKING([whether build environment is sane]) 880 +# Reject unsafe characters in $srcdir or the absolute working directory 881 +# name. Accept space and tab only in the latter. 882 +am_lf=' 883 +' 884 +case `pwd` in 885 + *[[\\\"\#\$\&\'\`$am_lf]]*) 886 + AC_MSG_ERROR([unsafe absolute working directory name]);; 887 +esac 888 +case $srcdir in 889 + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) 890 + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; 891 +esac 892 + 893 +# Do 'set' in a subshell so we don't clobber the current shell's 894 +# arguments. Must try -L first in case configure is actually a 895 +# symlink; some systems play weird games with the mod time of symlinks 896 +# (eg FreeBSD returns the mod time of the symlink's containing 897 +# directory). 898 +if ( 899 + am_has_slept=no 900 + for am_try in 1 2; do 901 + echo "timestamp, slept: $am_has_slept" > conftest.file 902 + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` 903 + if test "$[*]" = "X"; then 904 + # -L didn't work. 905 + set X `ls -t "$srcdir/configure" conftest.file` 906 + fi 907 + if test "$[*]" != "X $srcdir/configure conftest.file" \ 908 + && test "$[*]" != "X conftest.file $srcdir/configure"; then 909 + 910 + # If neither matched, then we have a broken ls. This can happen 911 + # if, for instance, CONFIG_SHELL is bash and it inherits a 912 + # broken ls alias from the environment. This has actually 913 + # happened. Such a system could not be considered "sane". 914 + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken 915 + alias in your environment]) 916 + fi 917 + if test "$[2]" = conftest.file || test $am_try -eq 2; then 918 + break 919 + fi 920 + # Just in case. 921 + sleep 1 922 + am_has_slept=yes 923 + done 924 + test "$[2]" = conftest.file 925 + ) 926 +then 927 + # Ok. 928 + : 929 +else 930 + AC_MSG_ERROR([newly created file is older than distributed files! 931 +Check your system clock]) 932 +fi 933 +AC_MSG_RESULT([yes]) 934 +# If we didn't sleep, we still need to ensure time stamps of config.status and 935 +# generated files are strictly newer. 936 +am_sleep_pid= 937 +if grep 'slept: no' conftest.file >/dev/null 2>&1; then 938 + ( sleep 1 ) & 939 + am_sleep_pid=$! 940 +fi 941 +AC_CONFIG_COMMANDS_PRE( 942 + [AC_MSG_CHECKING([that generated files are newer than configure]) 943 + if test -n "$am_sleep_pid"; then 944 + # Hide warnings about reused PIDs. 945 + wait $am_sleep_pid 2>/dev/null 946 + fi 947 + AC_MSG_RESULT([done])]) 948 +rm -f conftest.file 949 +]) 950 + 951 +# Copyright (C) 2009-2014 Free Software Foundation, Inc. 952 +# 953 +# This file is free software; the Free Software Foundation 954 +# gives unlimited permission to copy and/or distribute it, 955 +# with or without modifications, as long as this notice is preserved. 956 + 957 +# AM_SILENT_RULES([DEFAULT]) 958 +# -------------------------- 959 +# Enable less verbose build rules; with the default set to DEFAULT 960 +# ("yes" being less verbose, "no" or empty being verbose). 961 +AC_DEFUN([AM_SILENT_RULES], 962 +[AC_ARG_ENABLE([silent-rules], [dnl 963 +AS_HELP_STRING( 964 + [--enable-silent-rules], 965 + [less verbose build output (undo: "make V=1")]) 966 +AS_HELP_STRING( 967 + [--disable-silent-rules], 968 + [verbose build output (undo: "make V=0")])dnl 969 +]) 970 +case $enable_silent_rules in @%:@ ((( 971 + yes) AM_DEFAULT_VERBOSITY=0;; 972 + no) AM_DEFAULT_VERBOSITY=1;; 973 + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; 974 +esac 975 +dnl 976 +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) 977 +dnl do not support nested variable expansions. 978 +dnl See automake bug#9928 and bug#10237. 979 +am_make=${MAKE-make} 980 +AC_CACHE_CHECK([whether $am_make supports nested variables], 981 + [am_cv_make_support_nested_variables], 982 + [if AS_ECHO([['TRUE=$(BAR$(V)) 983 +BAR0=false 984 +BAR1=true 985 +V=1 986 +am__doit: 987 + @$(TRUE) 988 +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then 989 + am_cv_make_support_nested_variables=yes 990 +else 991 + am_cv_make_support_nested_variables=no 992 +fi]) 993 +if test $am_cv_make_support_nested_variables = yes; then 994 + dnl Using '$V' instead of '$(V)' breaks IRIX make. 995 + AM_V='$(V)' 996 + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' 997 +else 998 + AM_V=$AM_DEFAULT_VERBOSITY 999 + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY 1000 +fi 1001 +AC_SUBST([AM_V])dnl 1002 +AM_SUBST_NOTMAKE([AM_V])dnl 1003 +AC_SUBST([AM_DEFAULT_V])dnl 1004 +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl 1005 +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl 1006 +AM_BACKSLASH='\' 1007 +AC_SUBST([AM_BACKSLASH])dnl 1008 +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl 1009 +]) 1010 + 1011 +# Copyright (C) 2001-2014 Free Software Foundation, Inc. 1012 +# 1013 +# This file is free software; the Free Software Foundation 1014 +# gives unlimited permission to copy and/or distribute it, 1015 +# with or without modifications, as long as this notice is preserved. 1016 + 1017 +# AM_PROG_INSTALL_STRIP 1018 +# --------------------- 1019 +# One issue with vendor 'install' (even GNU) is that you can't 1020 +# specify the program used to strip binaries. This is especially 1021 +# annoying in cross-compiling environments, where the build's strip 1022 +# is unlikely to handle the host's binaries. 1023 +# Fortunately install-sh will honor a STRIPPROG variable, so we 1024 +# always use install-sh in "make install-strip", and initialize 1025 +# STRIPPROG with the value of the STRIP variable (set by the user). 1026 +AC_DEFUN([AM_PROG_INSTALL_STRIP], 1027 +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl 1028 +# Installed binaries are usually stripped using 'strip' when the user 1029 +# run "make install-strip". However 'strip' might not be the right 1030 +# tool to use in cross-compilation environments, therefore Automake 1031 +# will honor the 'STRIP' environment variable to overrule this program. 1032 +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. 1033 +if test "$cross_compiling" != no; then 1034 + AC_CHECK_TOOL([STRIP], [strip], :) 1035 +fi 1036 +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" 1037 +AC_SUBST([INSTALL_STRIP_PROGRAM])]) 1038 + 1039 +# Copyright (C) 2006-2014 Free Software Foundation, Inc. 1040 +# 1041 +# This file is free software; the Free Software Foundation 1042 +# gives unlimited permission to copy and/or distribute it, 1043 +# with or without modifications, as long as this notice is preserved. 1044 + 1045 +# _AM_SUBST_NOTMAKE(VARIABLE) 1046 +# --------------------------- 1047 +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. 1048 +# This macro is traced by Automake. 1049 +AC_DEFUN([_AM_SUBST_NOTMAKE]) 1050 + 1051 +# AM_SUBST_NOTMAKE(VARIABLE) 1052 +# -------------------------- 1053 +# Public sister of _AM_SUBST_NOTMAKE. 1054 +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) 1055 + 1056 +# Check how to create a tarball. -*- Autoconf -*- 1057 + 1058 +# Copyright (C) 2004-2014 Free Software Foundation, Inc. 1059 +# 1060 +# This file is free software; the Free Software Foundation 1061 +# gives unlimited permission to copy and/or distribute it, 1062 +# with or without modifications, as long as this notice is preserved. 1063 + 1064 +# _AM_PROG_TAR(FORMAT) 1065 +# -------------------- 1066 +# Check how to create a tarball in format FORMAT. 1067 +# FORMAT should be one of 'v7', 'ustar', or 'pax'. 1068 +# 1069 +# Substitute a variable $(am__tar) that is a command 1070 +# writing to stdout a FORMAT-tarball containing the directory 1071 +# $tardir. 1072 +# tardir=directory && $(am__tar) > result.tar 1073 +# 1074 +# Substitute a variable $(am__untar) that extract such 1075 +# a tarball read from stdin. 1076 +# $(am__untar) < result.tar 1077 +# 1078 +AC_DEFUN([_AM_PROG_TAR], 1079 +[# Always define AMTAR for backward compatibility. Yes, it's still used 1080 +# in the wild :-( We should find a proper way to deprecate it ... 1081 +AC_SUBST([AMTAR], ['$${TAR-tar}']) 1082 + 1083 +# We'll loop over all known methods to create a tar archive until one works. 1084 +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' 1085 + 1086 +m4_if([$1], [v7], 1087 + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], 1088 + 1089 + [m4_case([$1], 1090 + [ustar], 1091 + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. 1092 + # There is notably a 21 bits limit for the UID and the GID. In fact, 1093 + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 1094 + # and bug#13588). 1095 + am_max_uid=2097151 # 2^21 - 1 1096 + am_max_gid=$am_max_uid 1097 + # The $UID and $GID variables are not portable, so we need to resort 1098 + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls 1099 + # below are definitely unexpected, so allow the users to see them 1100 + # (that is, avoid stderr redirection). 1101 + am_uid=`id -u || echo unknown` 1102 + am_gid=`id -g || echo unknown` 1103 + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) 1104 + if test $am_uid -le $am_max_uid; then 1105 + AC_MSG_RESULT([yes]) 1106 + else 1107 + AC_MSG_RESULT([no]) 1108 + _am_tools=none 1109 + fi 1110 + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) 1111 + if test $am_gid -le $am_max_gid; then 1112 + AC_MSG_RESULT([yes]) 1113 + else 1114 + AC_MSG_RESULT([no]) 1115 + _am_tools=none 1116 + fi], 1117 + 1118 + [pax], 1119 + [], 1120 + 1121 + [m4_fatal([Unknown tar format])]) 1122 + 1123 + AC_MSG_CHECKING([how to create a $1 tar archive]) 1124 + 1125 + # Go ahead even if we have the value already cached. We do so because we 1126 + # need to set the values for the 'am__tar' and 'am__untar' variables. 1127 + _am_tools=${am_cv_prog_tar_$1-$_am_tools} 1128 + 1129 + for _am_tool in $_am_tools; do 1130 + case $_am_tool in 1131 + gnutar) 1132 + for _am_tar in tar gnutar gtar; do 1133 + AM_RUN_LOG([$_am_tar --version]) && break 1134 + done 1135 + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' 1136 + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' 1137 + am__untar="$_am_tar -xf -" 1138 + ;; 1139 + plaintar) 1140 + # Must skip GNU tar: if it does not support --format= it doesn't create 1141 + # ustar tarball either. 1142 + (tar --version) >/dev/null 2>&1 && continue 1143 + am__tar='tar chf - "$$tardir"' 1144 + am__tar_='tar chf - "$tardir"' 1145 + am__untar='tar xf -' 1146 + ;; 1147 + pax) 1148 + am__tar='pax -L -x $1 -w "$$tardir"' 1149 + am__tar_='pax -L -x $1 -w "$tardir"' 1150 + am__untar='pax -r' 1151 + ;; 1152 + cpio) 1153 + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' 1154 + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' 1155 + am__untar='cpio -i -H $1 -d' 1156 + ;; 1157 + none) 1158 + am__tar=false 1159 + am__tar_=false 1160 + am__untar=false 1161 + ;; 1162 + esac 1163 + 1164 + # If the value was cached, stop now. We just wanted to have am__tar 1165 + # and am__untar set. 1166 + test -n "${am_cv_prog_tar_$1}" && break 1167 + 1168 + # tar/untar a dummy directory, and stop if the command works. 1169 + rm -rf conftest.dir 1170 + mkdir conftest.dir 1171 + echo GrepMe > conftest.dir/file 1172 + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) 1173 + rm -rf conftest.dir 1174 + if test -s conftest.tar; then 1175 + AM_RUN_LOG([$am__untar <conftest.tar]) 1176 + AM_RUN_LOG([cat conftest.dir/file]) 1177 + grep GrepMe conftest.dir/file >/dev/null 2>&1 && break 1178 + fi 1179 + done 1180 + rm -rf conftest.dir 1181 + 1182 + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) 1183 + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) 1184 + 1185 +AC_SUBST([am__tar]) 1186 +AC_SUBST([am__untar]) 1187 +]) # _AM_PROG_TAR 1188 + 1189 +m4_include([m4/libtool.m4]) 1190 +m4_include([m4/ltoptions.m4]) 1191 +m4_include([m4/ltsugar.m4]) 1192 +m4_include([m4/ltversion.m4]) 1193 +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-2014 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, 2010, 5 +# 2011, 2012 Free Software Foundation, Inc. 6 + 7 +timestamp='2012-06-10' 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, 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 + 28 +# Originally written by Per Bothner. Please send patches (context 29 +# diff format) to <config-patches@gnu.org> and include a ChangeLog 30 +# entry. 31 +# 32 +# This script attempts to guess a canonical system name similar to 33 +# config.sub. If it succeeds, it prints the system name on stdout, and 34 +# exits with 0. Otherwise, it exits with 1. 35 +# 36 +# You can get the latest version of this script from: 37 +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 38 + 39 +me=`echo "$0" | sed -e 's,.*/,,'` 40 + 41 +usage="\ 42 +Usage: $0 [OPTION] 43 + 44 +Output the configuration name of the system \`$me' is run on. 45 + 46 +Operation modes: 47 + -h, --help print this help, then exit 48 + -t, --time-stamp print date of last modification, then exit 49 + -v, --version print version number, then exit 50 + 51 +Report bugs and patches to <config-patches@gnu.org>." 52 + 53 +version="\ 54 +GNU config.guess ($timestamp) 55 + 56 +Originally written by Per Bothner. 57 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 58 +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 59 +Free Software Foundation, Inc. 60 + 61 +This is free software; see the source for copying conditions. There is NO 62 +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 63 + 64 +help=" 65 +Try \`$me --help' for more information." 66 + 67 +# Parse command line 68 +while test $# -gt 0 ; do 69 + case $1 in 70 + --time-stamp | --time* | -t ) 71 + echo "$timestamp" ; exit ;; 72 + --version | -v ) 73 + echo "$version" ; exit ;; 74 + --help | --h* | -h ) 75 + echo "$usage"; exit ;; 76 + -- ) # Stop option processing 77 + shift; break ;; 78 + - ) # Use stdin as input. 79 + break ;; 80 + -* ) 81 + echo "$me: invalid option $1$help" >&2 82 + exit 1 ;; 83 + * ) 84 + break ;; 85 + esac 86 +done 87 + 88 +if test $# != 0; then 89 + echo "$me: too many arguments$help" >&2 90 + exit 1 91 +fi 92 + 93 +trap 'exit 1' 1 2 15 94 + 95 +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 96 +# compiler to aid in system detection is discouraged as it requires 97 +# temporary files to be created and, as you can see below, it is a 98 +# headache to deal with in a portable fashion. 99 + 100 +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 101 +# use `HOST_CC' if defined, but it is deprecated. 102 + 103 +# Portable tmp directory creation inspired by the Autoconf team. 104 + 105 +set_cc_for_build=' 106 +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 107 +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 108 +: ${TMPDIR=/tmp} ; 109 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 110 + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 111 + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 112 + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 113 +dummy=$tmp/dummy ; 114 +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 115 +case $CC_FOR_BUILD,$HOST_CC,$CC in 116 + ,,) echo "int x;" > $dummy.c ; 117 + for c in cc gcc c89 c99 ; do 118 + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 119 + CC_FOR_BUILD="$c"; break ; 120 + fi ; 121 + done ; 122 + if test x"$CC_FOR_BUILD" = x ; then 123 + CC_FOR_BUILD=no_compiler_found ; 124 + fi 125 + ;; 126 + ,,*) CC_FOR_BUILD=$CC ;; 127 + ,*,*) CC_FOR_BUILD=$HOST_CC ;; 128 +esac ; set_cc_for_build= ;' 129 + 130 +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 131 +# (ghazi@noc.rutgers.edu 1994-08-24) 132 +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then 133 + PATH=$PATH:/.attbin ; export PATH 134 +fi 135 + 136 +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 137 +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 138 +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 139 +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 140 + 141 +# Note: order is significant - the case branches are not exclusive. 142 + 143 +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 144 + *:NetBSD:*:*) 145 + # NetBSD (nbsd) targets should (where applicable) match one or 146 + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 147 + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 148 + # switched to ELF, *-*-netbsd* would select the old 149 + # object file format. This provides both forward 150 + # compatibility and a consistent mechanism for selecting the 151 + # object file format. 152 + # 153 + # Note: NetBSD doesn't particularly care about the vendor 154 + # portion of the name. We always set it to "unknown". 155 + sysctl="sysctl -n hw.machine_arch" 156 + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 157 + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 158 + case "${UNAME_MACHINE_ARCH}" in 159 + armeb) machine=armeb-unknown ;; 160 + arm*) machine=arm-unknown ;; 161 + sh3el) machine=shl-unknown ;; 162 + sh3eb) machine=sh-unknown ;; 163 + sh5el) machine=sh5le-unknown ;; 164 + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 165 + esac 166 + # The Operating System including object format, if it has switched 167 + # to ELF recently, or will in the future. 168 + case "${UNAME_MACHINE_ARCH}" in 169 + arm*|i386|m68k|ns32k|sh3*|sparc|vax) 170 + eval $set_cc_for_build 171 + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 172 + | grep -q __ELF__ 173 + then 174 + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 175 + # Return netbsd for either. FIX? 176 + os=netbsd 177 + else 178 + os=netbsdelf 179 + fi 180 + ;; 181 + *) 182 + os=netbsd 183 + ;; 184 + esac 185 + # The OS release 186 + # Debian GNU/NetBSD machines have a different userland, and 187 + # thus, need a distinct triplet. However, they do not need 188 + # kernel version information, so it can be replaced with a 189 + # suitable tag, in the style of linux-gnu. 190 + case "${UNAME_VERSION}" in 191 + Debian*) 192 + release='-gnu' 193 + ;; 194 + *) 195 + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 196 + ;; 197 + esac 198 + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 199 + # contains redundant information, the shorter form: 200 + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 201 + echo "${machine}-${os}${release}" 202 + exit ;; 203 + *:OpenBSD:*:*) 204 + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 205 + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 206 + exit ;; 207 + *:ekkoBSD:*:*) 208 + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 209 + exit ;; 210 + *:SolidBSD:*:*) 211 + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 212 + exit ;; 213 + macppc:MirBSD:*:*) 214 + echo powerpc-unknown-mirbsd${UNAME_RELEASE} 215 + exit ;; 216 + *:MirBSD:*:*) 217 + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 218 + exit ;; 219 + alpha:OSF1:*:*) 220 + case $UNAME_RELEASE in 221 + *4.0) 222 + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 223 + ;; 224 + *5.*) 225 + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 226 + ;; 227 + esac 228 + # According to Compaq, /usr/sbin/psrinfo has been available on 229 + # OSF/1 and Tru64 systems produced since 1995. I hope that 230 + # covers most systems running today. This code pipes the CPU 231 + # types through head -n 1, so we only detect the type of CPU 0. 232 + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 233 + case "$ALPHA_CPU_TYPE" in 234 + "EV4 (21064)") 235 + UNAME_MACHINE="alpha" ;; 236 + "EV4.5 (21064)") 237 + UNAME_MACHINE="alpha" ;; 238 + "LCA4 (21066/21068)") 239 + UNAME_MACHINE="alpha" ;; 240 + "EV5 (21164)") 241 + UNAME_MACHINE="alphaev5" ;; 242 + "EV5.6 (21164A)") 243 + UNAME_MACHINE="alphaev56" ;; 244 + "EV5.6 (21164PC)") 245 + UNAME_MACHINE="alphapca56" ;; 246 + "EV5.7 (21164PC)") 247 + UNAME_MACHINE="alphapca57" ;; 248 + "EV6 (21264)") 249 + UNAME_MACHINE="alphaev6" ;; 250 + "EV6.7 (21264A)") 251 + UNAME_MACHINE="alphaev67" ;; 252 + "EV6.8CB (21264C)") 253 + UNAME_MACHINE="alphaev68" ;; 254 + "EV6.8AL (21264B)") 255 + UNAME_MACHINE="alphaev68" ;; 256 + "EV6.8CX (21264D)") 257 + UNAME_MACHINE="alphaev68" ;; 258 + "EV6.9A (21264/EV69A)") 259 + UNAME_MACHINE="alphaev69" ;; 260 + "EV7 (21364)") 261 + UNAME_MACHINE="alphaev7" ;; 262 + "EV7.9 (21364A)") 263 + UNAME_MACHINE="alphaev79" ;; 264 + esac 265 + # A Pn.n version is a patched version. 266 + # A Vn.n version is a released version. 267 + # A Tn.n version is a released field test version. 268 + # A Xn.n version is an unreleased experimental baselevel. 269 + # 1.2 uses "1.2" for uname -r. 270 + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 271 + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 272 + exitcode=$? 273 + trap '' 0 274 + exit $exitcode ;; 275 + Alpha\ *:Windows_NT*:*) 276 + # How do we know it's Interix rather than the generic POSIX subsystem? 277 + # Should we change UNAME_MACHINE based on the output of uname instead 278 + # of the specific Alpha model? 279 + echo alpha-pc-interix 280 + exit ;; 281 + 21064:Windows_NT:50:3) 282 + echo alpha-dec-winnt3.5 283 + exit ;; 284 + Amiga*:UNIX_System_V:4.0:*) 285 + echo m68k-unknown-sysv4 286 + exit ;; 287 + *:[Aa]miga[Oo][Ss]:*:*) 288 + echo ${UNAME_MACHINE}-unknown-amigaos 289 + exit ;; 290 + *:[Mm]orph[Oo][Ss]:*:*) 291 + echo ${UNAME_MACHINE}-unknown-morphos 292 + exit ;; 293 + *:OS/390:*:*) 294 + echo i370-ibm-openedition 295 + exit ;; 296 + *:z/VM:*:*) 297 + echo s390-ibm-zvmoe 298 + exit ;; 299 + *:OS400:*:*) 300 + echo powerpc-ibm-os400 301 + exit ;; 302 + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 303 + echo arm-acorn-riscix${UNAME_RELEASE} 304 + exit ;; 305 + arm:riscos:*:*|arm:RISCOS:*:*) 306 + echo arm-unknown-riscos 307 + exit ;; 308 + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 309 + echo hppa1.1-hitachi-hiuxmpp 310 + exit ;; 311 + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 312 + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 313 + if test "`(/bin/universe) 2>/dev/null`" = att ; then 314 + echo pyramid-pyramid-sysv3 315 + else 316 + echo pyramid-pyramid-bsd 317 + fi 318 + exit ;; 319 + NILE*:*:*:dcosx) 320 + echo pyramid-pyramid-svr4 321 + exit ;; 322 + DRS?6000:unix:4.0:6*) 323 + echo sparc-icl-nx6 324 + exit ;; 325 + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 326 + case `/usr/bin/uname -p` in 327 + sparc) echo sparc-icl-nx7; exit ;; 328 + esac ;; 329 + s390x:SunOS:*:*) 330 + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 331 + exit ;; 332 + sun4H:SunOS:5.*:*) 333 + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 334 + exit ;; 335 + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 336 + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 337 + exit ;; 338 + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 339 + echo i386-pc-auroraux${UNAME_RELEASE} 340 + exit ;; 341 + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 342 + eval $set_cc_for_build 343 + SUN_ARCH="i386" 344 + # If there is a compiler, see if it is configured for 64-bit objects. 345 + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 346 + # This test works for both compilers. 347 + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 348 + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 349 + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 350 + grep IS_64BIT_ARCH >/dev/null 351 + then 352 + SUN_ARCH="x86_64" 353 + fi 354 + fi 355 + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 356 + exit ;; 357 + sun4*:SunOS:6*:*) 358 + # According to config.sub, this is the proper way to canonicalize 359 + # SunOS6. Hard to guess exactly what SunOS6 will be like, but 360 + # it's likely to be more like Solaris than SunOS4. 361 + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 362 + exit ;; 363 + sun4*:SunOS:*:*) 364 + case "`/usr/bin/arch -k`" in 365 + Series*|S4*) 366 + UNAME_RELEASE=`uname -v` 367 + ;; 368 + esac 369 + # Japanese Language versions have a version number like `4.1.3-JL'. 370 + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 371 + exit ;; 372 + sun3*:SunOS:*:*) 373 + echo m68k-sun-sunos${UNAME_RELEASE} 374 + exit ;; 375 + sun*:*:4.2BSD:*) 376 + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 377 + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 378 + case "`/bin/arch`" in 379 + sun3) 380 + echo m68k-sun-sunos${UNAME_RELEASE} 381 + ;; 382 + sun4) 383 + echo sparc-sun-sunos${UNAME_RELEASE} 384 + ;; 385 + esac 386 + exit ;; 387 + aushp:SunOS:*:*) 388 + echo sparc-auspex-sunos${UNAME_RELEASE} 389 + exit ;; 390 + # The situation for MiNT is a little confusing. The machine name 391 + # can be virtually everything (everything which is not 392 + # "atarist" or "atariste" at least should have a processor 393 + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 394 + # to the lowercase version "mint" (or "freemint"). Finally 395 + # the system name "TOS" denotes a system which is actually not 396 + # MiNT. But MiNT is downward compatible to TOS, so this should 397 + # be no problem. 398 + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 399 + echo m68k-atari-mint${UNAME_RELEASE} 400 + exit ;; 401 + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 402 + echo m68k-atari-mint${UNAME_RELEASE} 403 + exit ;; 404 + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 405 + echo m68k-atari-mint${UNAME_RELEASE} 406 + exit ;; 407 + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 408 + echo m68k-milan-mint${UNAME_RELEASE} 409 + exit ;; 410 + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 411 + echo m68k-hades-mint${UNAME_RELEASE} 412 + exit ;; 413 + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 414 + echo m68k-unknown-mint${UNAME_RELEASE} 415 + exit ;; 416 + m68k:machten:*:*) 417 + echo m68k-apple-machten${UNAME_RELEASE} 418 + exit ;; 419 + powerpc:machten:*:*) 420 + echo powerpc-apple-machten${UNAME_RELEASE} 421 + exit ;; 422 + RISC*:Mach:*:*) 423 + echo mips-dec-mach_bsd4.3 424 + exit ;; 425 + RISC*:ULTRIX:*:*) 426 + echo mips-dec-ultrix${UNAME_RELEASE} 427 + exit ;; 428 + VAX*:ULTRIX*:*:*) 429 + echo vax-dec-ultrix${UNAME_RELEASE} 430 + exit ;; 431 + 2020:CLIX:*:* | 2430:CLIX:*:*) 432 + echo clipper-intergraph-clix${UNAME_RELEASE} 433 + exit ;; 434 + mips:*:*:UMIPS | mips:*:*:RISCos) 435 + eval $set_cc_for_build 436 + sed 's/^ //' << EOF >$dummy.c 437 +#ifdef __cplusplus 438 +#include <stdio.h> /* for printf() prototype */ 439 + int main (int argc, char *argv[]) { 440 +#else 441 + int main (argc, argv) int argc; char *argv[]; { 442 +#endif 443 + #if defined (host_mips) && defined (MIPSEB) 444 + #if defined (SYSTYPE_SYSV) 445 + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 446 + #endif 447 + #if defined (SYSTYPE_SVR4) 448 + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 449 + #endif 450 + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 451 + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 452 + #endif 453 + #endif 454 + exit (-1); 455 + } 456 +EOF 457 + $CC_FOR_BUILD -o $dummy $dummy.c && 458 + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 459 + SYSTEM_NAME=`$dummy $dummyarg` && 460 + { echo "$SYSTEM_NAME"; exit; } 461 + echo mips-mips-riscos${UNAME_RELEASE} 462 + exit ;; 463 + Motorola:PowerMAX_OS:*:*) 464 + echo powerpc-motorola-powermax 465 + exit ;; 466 + Motorola:*:4.3:PL8-*) 467 + echo powerpc-harris-powermax 468 + exit ;; 469 + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 470 + echo powerpc-harris-powermax 471 + exit ;; 472 + Night_Hawk:Power_UNIX:*:*) 473 + echo powerpc-harris-powerunix 474 + exit ;; 475 + m88k:CX/UX:7*:*) 476 + echo m88k-harris-cxux7 477 + exit ;; 478 + m88k:*:4*:R4*) 479 + echo m88k-motorola-sysv4 480 + exit ;; 481 + m88k:*:3*:R3*) 482 + echo m88k-motorola-sysv3 483 + exit ;; 484 + AViiON:dgux:*:*) 485 + # DG/UX returns AViiON for all architectures 486 + UNAME_PROCESSOR=`/usr/bin/uname -p` 487 + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 488 + then 489 + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 490 + [ ${TARGET_BINARY_INTERFACE}x = x ] 491 + then 492 + echo m88k-dg-dgux${UNAME_RELEASE} 493 + else 494 + echo m88k-dg-dguxbcs${UNAME_RELEASE} 495 + fi 496 + else 497 + echo i586-dg-dgux${UNAME_RELEASE} 498 + fi 499 + exit ;; 500 + M88*:DolphinOS:*:*) # DolphinOS (SVR3) 501 + echo m88k-dolphin-sysv3 502 + exit ;; 503 + M88*:*:R3*:*) 504 + # Delta 88k system running SVR3 505 + echo m88k-motorola-sysv3 506 + exit ;; 507 + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 508 + echo m88k-tektronix-sysv3 509 + exit ;; 510 + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 511 + echo m68k-tektronix-bsd 512 + exit ;; 513 + *:IRIX*:*:*) 514 + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 515 + exit ;; 516 + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 517 + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 518 + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 519 + i*86:AIX:*:*) 520 + echo i386-ibm-aix 521 + exit ;; 522 + ia64:AIX:*:*) 523 + if [ -x /usr/bin/oslevel ] ; then 524 + IBM_REV=`/usr/bin/oslevel` 525 + else 526 + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 527 + fi 528 + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 529 + exit ;; 530 + *:AIX:2:3) 531 + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 532 + eval $set_cc_for_build 533 + sed 's/^ //' << EOF >$dummy.c 534 + #include <sys/systemcfg.h> 535 + 536 + main() 537 + { 538 + if (!__power_pc()) 539 + exit(1); 540 + puts("powerpc-ibm-aix3.2.5"); 541 + exit(0); 542 + } 543 +EOF 544 + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 545 + then 546 + echo "$SYSTEM_NAME" 547 + else 548 + echo rs6000-ibm-aix3.2.5 549 + fi 550 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 551 + echo rs6000-ibm-aix3.2.4 552 + else 553 + echo rs6000-ibm-aix3.2 554 + fi 555 + exit ;; 556 + *:AIX:*:[4567]) 557 + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 558 + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 559 + IBM_ARCH=rs6000 560 + else 561 + IBM_ARCH=powerpc 562 + fi 563 + if [ -x /usr/bin/oslevel ] ; then 564 + IBM_REV=`/usr/bin/oslevel` 565 + else 566 + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 567 + fi 568 + echo ${IBM_ARCH}-ibm-aix${IBM_REV} 569 + exit ;; 570 + *:AIX:*:*) 571 + echo rs6000-ibm-aix 572 + exit ;; 573 + ibmrt:4.4BSD:*|romp-ibm:BSD:*) 574 + echo romp-ibm-bsd4.4 575 + exit ;; 576 + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 577 + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 578 + exit ;; # report: romp-ibm BSD 4.3 579 + *:BOSX:*:*) 580 + echo rs6000-bull-bosx 581 + exit ;; 582 + DPX/2?00:B.O.S.:*:*) 583 + echo m68k-bull-sysv3 584 + exit ;; 585 + 9000/[34]??:4.3bsd:1.*:*) 586 + echo m68k-hp-bsd 587 + exit ;; 588 + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 589 + echo m68k-hp-bsd4.4 590 + exit ;; 591 + 9000/[34678]??:HP-UX:*:*) 592 + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 593 + case "${UNAME_MACHINE}" in 594 + 9000/31? ) HP_ARCH=m68000 ;; 595 + 9000/[34]?? ) HP_ARCH=m68k ;; 596 + 9000/[678][0-9][0-9]) 597 + if [ -x /usr/bin/getconf ]; then 598 + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 599 + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 600 + case "${sc_cpu_version}" in 601 + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 602 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 603 + 532) # CPU_PA_RISC2_0 604 + case "${sc_kernel_bits}" in 605 + 32) HP_ARCH="hppa2.0n" ;; 606 + 64) HP_ARCH="hppa2.0w" ;; 607 + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 608 + esac ;; 609 + esac 610 + fi 611 + if [ "${HP_ARCH}" = "" ]; then 612 + eval $set_cc_for_build 613 + sed 's/^ //' << EOF >$dummy.c 614 + 615 + #define _HPUX_SOURCE 616 + #include <stdlib.h> 617 + #include <unistd.h> 618 + 619 + int main () 620 + { 621 + #if defined(_SC_KERNEL_BITS) 622 + long bits = sysconf(_SC_KERNEL_BITS); 623 + #endif 624 + long cpu = sysconf (_SC_CPU_VERSION); 625 + 626 + switch (cpu) 627 + { 628 + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 629 + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 630 + case CPU_PA_RISC2_0: 631 + #if defined(_SC_KERNEL_BITS) 632 + switch (bits) 633 + { 634 + case 64: puts ("hppa2.0w"); break; 635 + case 32: puts ("hppa2.0n"); break; 636 + default: puts ("hppa2.0"); break; 637 + } break; 638 + #else /* !defined(_SC_KERNEL_BITS) */ 639 + puts ("hppa2.0"); break; 640 + #endif 641 + default: puts ("hppa1.0"); break; 642 + } 643 + exit (0); 644 + } 645 +EOF 646 + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 647 + test -z "$HP_ARCH" && HP_ARCH=hppa 648 + fi ;; 649 + esac 650 + if [ ${HP_ARCH} = "hppa2.0w" ] 651 + then 652 + eval $set_cc_for_build 653 + 654 + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 655 + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 656 + # generating 64-bit code. GNU and HP use different nomenclature: 657 + # 658 + # $ CC_FOR_BUILD=cc ./config.guess 659 + # => hppa2.0w-hp-hpux11.23 660 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 661 + # => hppa64-hp-hpux11.23 662 + 663 + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 664 + grep -q __LP64__ 665 + then 666 + HP_ARCH="hppa2.0w" 667 + else 668 + HP_ARCH="hppa64" 669 + fi 670 + fi 671 + echo ${HP_ARCH}-hp-hpux${HPUX_REV} 672 + exit ;; 673 + ia64:HP-UX:*:*) 674 + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 675 + echo ia64-hp-hpux${HPUX_REV} 676 + exit ;; 677 + 3050*:HI-UX:*:*) 678 + eval $set_cc_for_build 679 + sed 's/^ //' << EOF >$dummy.c 680 + #include <unistd.h> 681 + int 682 + main () 683 + { 684 + long cpu = sysconf (_SC_CPU_VERSION); 685 + /* The order matters, because CPU_IS_HP_MC68K erroneously returns 686 + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 687 + results, however. */ 688 + if (CPU_IS_PA_RISC (cpu)) 689 + { 690 + switch (cpu) 691 + { 692 + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 693 + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 694 + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 695 + default: puts ("hppa-hitachi-hiuxwe2"); break; 696 + } 697 + } 698 + else if (CPU_IS_HP_MC68K (cpu)) 699 + puts ("m68k-hitachi-hiuxwe2"); 700 + else puts ("unknown-hitachi-hiuxwe2"); 701 + exit (0); 702 + } 703 +EOF 704 + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 705 + { echo "$SYSTEM_NAME"; exit; } 706 + echo unknown-hitachi-hiuxwe2 707 + exit ;; 708 + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 709 + echo hppa1.1-hp-bsd 710 + exit ;; 711 + 9000/8??:4.3bsd:*:*) 712 + echo hppa1.0-hp-bsd 713 + exit ;; 714 + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 715 + echo hppa1.0-hp-mpeix 716 + exit ;; 717 + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 718 + echo hppa1.1-hp-osf 719 + exit ;; 720 + hp8??:OSF1:*:*) 721 + echo hppa1.0-hp-osf 722 + exit ;; 723 + i*86:OSF1:*:*) 724 + if [ -x /usr/sbin/sysversion ] ; then 725 + echo ${UNAME_MACHINE}-unknown-osf1mk 726 + else 727 + echo ${UNAME_MACHINE}-unknown-osf1 728 + fi 729 + exit ;; 730 + parisc*:Lites*:*:*) 731 + echo hppa1.1-hp-lites 732 + exit ;; 733 + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 734 + echo c1-convex-bsd 735 + exit ;; 736 + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 737 + if getsysinfo -f scalar_acc 738 + then echo c32-convex-bsd 739 + else echo c2-convex-bsd 740 + fi 741 + exit ;; 742 + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 743 + echo c34-convex-bsd 744 + exit ;; 745 + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 746 + echo c38-convex-bsd 747 + exit ;; 748 + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 749 + echo c4-convex-bsd 750 + exit ;; 751 + CRAY*Y-MP:*:*:*) 752 + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 753 + exit ;; 754 + CRAY*[A-Z]90:*:*:*) 755 + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 756 + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 757 + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 758 + -e 's/\.[^.]*$/.X/' 759 + exit ;; 760 + CRAY*TS:*:*:*) 761 + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 762 + exit ;; 763 + CRAY*T3E:*:*:*) 764 + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 765 + exit ;; 766 + CRAY*SV1:*:*:*) 767 + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 768 + exit ;; 769 + *:UNICOS/mp:*:*) 770 + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 771 + exit ;; 772 + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 773 + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 774 + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 775 + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 776 + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 777 + exit ;; 778 + 5000:UNIX_System_V:4.*:*) 779 + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 780 + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 781 + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 782 + exit ;; 783 + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 784 + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 785 + exit ;; 786 + sparc*:BSD/OS:*:*) 787 + echo sparc-unknown-bsdi${UNAME_RELEASE} 788 + exit ;; 789 + *:BSD/OS:*:*) 790 + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 791 + exit ;; 792 + *:FreeBSD:*:*) 793 + UNAME_PROCESSOR=`/usr/bin/uname -p` 794 + case ${UNAME_PROCESSOR} in 795 + amd64) 796 + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 797 + *) 798 + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 799 + esac 800 + exit ;; 801 + i*:CYGWIN*:*) 802 + echo ${UNAME_MACHINE}-pc-cygwin 803 + exit ;; 804 + *:MINGW*:*) 805 + echo ${UNAME_MACHINE}-pc-mingw32 806 + exit ;; 807 + i*:MSYS*:*) 808 + echo ${UNAME_MACHINE}-pc-msys 809 + exit ;; 810 + i*:windows32*:*) 811 + # uname -m includes "-pc" on this system. 812 + echo ${UNAME_MACHINE}-mingw32 813 + exit ;; 814 + i*:PW*:*) 815 + echo ${UNAME_MACHINE}-pc-pw32 816 + exit ;; 817 + *:Interix*:*) 818 + case ${UNAME_MACHINE} in 819 + x86) 820 + echo i586-pc-interix${UNAME_RELEASE} 821 + exit ;; 822 + authenticamd | genuineintel | EM64T) 823 + echo x86_64-unknown-interix${UNAME_RELEASE} 824 + exit ;; 825 + IA64) 826 + echo ia64-unknown-interix${UNAME_RELEASE} 827 + exit ;; 828 + esac ;; 829 + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 830 + echo i${UNAME_MACHINE}-pc-mks 831 + exit ;; 832 + 8664:Windows_NT:*) 833 + echo x86_64-pc-mks 834 + exit ;; 835 + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 836 + # How do we know it's Interix rather than the generic POSIX subsystem? 837 + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 838 + # UNAME_MACHINE based on the output of uname instead of i386? 839 + echo i586-pc-interix 840 + exit ;; 841 + i*:UWIN*:*) 842 + echo ${UNAME_MACHINE}-pc-uwin 843 + exit ;; 844 + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 845 + echo x86_64-unknown-cygwin 846 + exit ;; 847 + p*:CYGWIN*:*) 848 + echo powerpcle-unknown-cygwin 849 + exit ;; 850 + prep*:SunOS:5.*:*) 851 + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 852 + exit ;; 853 + *:GNU:*:*) 854 + # the GNU system 855 + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 856 + exit ;; 857 + *:GNU/*:*:*) 858 + # other systems with GNU libc and userland 859 + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 860 + exit ;; 861 + i*86:Minix:*:*) 862 + echo ${UNAME_MACHINE}-pc-minix 863 + exit ;; 864 + aarch64:Linux:*:*) 865 + echo ${UNAME_MACHINE}-unknown-linux-gnu 866 + exit ;; 867 + aarch64_be:Linux:*:*) 868 + UNAME_MACHINE=aarch64_be 869 + echo ${UNAME_MACHINE}-unknown-linux-gnu 870 + exit ;; 871 + alpha:Linux:*:*) 872 + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 873 + EV5) UNAME_MACHINE=alphaev5 ;; 874 + EV56) UNAME_MACHINE=alphaev56 ;; 875 + PCA56) UNAME_MACHINE=alphapca56 ;; 876 + PCA57) UNAME_MACHINE=alphapca56 ;; 877 + EV6) UNAME_MACHINE=alphaev6 ;; 878 + EV67) UNAME_MACHINE=alphaev67 ;; 879 + EV68*) UNAME_MACHINE=alphaev68 ;; 880 + esac 881 + objdump --private-headers /bin/sh | grep -q ld.so.1 882 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 883 + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 884 + exit ;; 885 + arm*:Linux:*:*) 886 + eval $set_cc_for_build 887 + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 888 + | grep -q __ARM_EABI__ 889 + then 890 + echo ${UNAME_MACHINE}-unknown-linux-gnu 891 + else 892 + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 893 + | grep -q __ARM_PCS_VFP 894 + then 895 + echo ${UNAME_MACHINE}-unknown-linux-gnueabi 896 + else 897 + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf 898 + fi 899 + fi 900 + exit ;; 901 + avr32*:Linux:*:*) 902 + echo ${UNAME_MACHINE}-unknown-linux-gnu 903 + exit ;; 904 + cris:Linux:*:*) 905 + echo ${UNAME_MACHINE}-axis-linux-gnu 906 + exit ;; 907 + crisv32:Linux:*:*) 908 + echo ${UNAME_MACHINE}-axis-linux-gnu 909 + exit ;; 910 + frv:Linux:*:*) 911 + echo ${UNAME_MACHINE}-unknown-linux-gnu 912 + exit ;; 913 + hexagon:Linux:*:*) 914 + echo ${UNAME_MACHINE}-unknown-linux-gnu 915 + exit ;; 916 + i*86:Linux:*:*) 917 + LIBC=gnu 918 + eval $set_cc_for_build 919 + sed 's/^ //' << EOF >$dummy.c 920 + #ifdef __dietlibc__ 921 + LIBC=dietlibc 922 + #endif 923 +EOF 924 + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` 925 + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 926 + exit ;; 927 + ia64:Linux:*:*) 928 + echo ${UNAME_MACHINE}-unknown-linux-gnu 929 + exit ;; 930 + m32r*:Linux:*:*) 931 + echo ${UNAME_MACHINE}-unknown-linux-gnu 932 + exit ;; 933 + m68*:Linux:*:*) 934 + echo ${UNAME_MACHINE}-unknown-linux-gnu 935 + exit ;; 936 + mips:Linux:*:* | mips64:Linux:*:*) 937 + eval $set_cc_for_build 938 + sed 's/^ //' << EOF >$dummy.c 939 + #undef CPU 940 + #undef ${UNAME_MACHINE} 941 + #undef ${UNAME_MACHINE}el 942 + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 943 + CPU=${UNAME_MACHINE}el 944 + #else 945 + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 946 + CPU=${UNAME_MACHINE} 947 + #else 948 + CPU= 949 + #endif 950 + #endif 951 +EOF 952 + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 953 + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 954 + ;; 955 + or32:Linux:*:*) 956 + echo ${UNAME_MACHINE}-unknown-linux-gnu 957 + exit ;; 958 + padre:Linux:*:*) 959 + echo sparc-unknown-linux-gnu 960 + exit ;; 961 + parisc64:Linux:*:* | hppa64:Linux:*:*) 962 + echo hppa64-unknown-linux-gnu 963 + exit ;; 964 + parisc:Linux:*:* | hppa:Linux:*:*) 965 + # Look for CPU level 966 + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 967 + PA7*) echo hppa1.1-unknown-linux-gnu ;; 968 + PA8*) echo hppa2.0-unknown-linux-gnu ;; 969 + *) echo hppa-unknown-linux-gnu ;; 970 + esac 971 + exit ;; 972 + ppc64:Linux:*:*) 973 + echo powerpc64-unknown-linux-gnu 974 + exit ;; 975 + ppc:Linux:*:*) 976 + echo powerpc-unknown-linux-gnu 977 + exit ;; 978 + s390:Linux:*:* | s390x:Linux:*:*) 979 + echo ${UNAME_MACHINE}-ibm-linux 980 + exit ;; 981 + sh64*:Linux:*:*) 982 + echo ${UNAME_MACHINE}-unknown-linux-gnu 983 + exit ;; 984 + sh*:Linux:*:*) 985 + echo ${UNAME_MACHINE}-unknown-linux-gnu 986 + exit ;; 987 + sparc:Linux:*:* | sparc64:Linux:*:*) 988 + echo ${UNAME_MACHINE}-unknown-linux-gnu 989 + exit ;; 990 + tile*:Linux:*:*) 991 + echo ${UNAME_MACHINE}-unknown-linux-gnu 992 + exit ;; 993 + vax:Linux:*:*) 994 + echo ${UNAME_MACHINE}-dec-linux-gnu 995 + exit ;; 996 + x86_64:Linux:*:*) 997 + echo ${UNAME_MACHINE}-unknown-linux-gnu 998 + exit ;; 999 + xtensa*:Linux:*:*) 1000 + echo ${UNAME_MACHINE}-unknown-linux-gnu 1001 + exit ;; 1002 + i*86:DYNIX/ptx:4*:*) 1003 + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1004 + # earlier versions are messed up and put the nodename in both 1005 + # sysname and nodename. 1006 + echo i386-sequent-sysv4 1007 + exit ;; 1008 + i*86:UNIX_SV:4.2MP:2.*) 1009 + # Unixware is an offshoot of SVR4, but it has its own version 1010 + # number series starting with 2... 1011 + # I am not positive that other SVR4 systems won't match this, 1012 + # I just have to hope. -- rms. 1013 + # Use sysv4.2uw... so that sysv4* matches it. 1014 + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1015 + exit ;; 1016 + i*86:OS/2:*:*) 1017 + # If we were able to find `uname', then EMX Unix compatibility 1018 + # is probably installed. 1019 + echo ${UNAME_MACHINE}-pc-os2-emx 1020 + exit ;; 1021 + i*86:XTS-300:*:STOP) 1022 + echo ${UNAME_MACHINE}-unknown-stop 1023 + exit ;; 1024 + i*86:atheos:*:*) 1025 + echo ${UNAME_MACHINE}-unknown-atheos 1026 + exit ;; 1027 + i*86:syllable:*:*) 1028 + echo ${UNAME_MACHINE}-pc-syllable 1029 + exit ;; 1030 + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1031 + echo i386-unknown-lynxos${UNAME_RELEASE} 1032 + exit ;; 1033 + i*86:*DOS:*:*) 1034 + echo ${UNAME_MACHINE}-pc-msdosdjgpp 1035 + exit ;; 1036 + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1037 + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 1038 + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1039 + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 1040 + else 1041 + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1042 + fi 1043 + exit ;; 1044 + i*86:*:5:[678]*) 1045 + # UnixWare 7.x, OpenUNIX and OpenServer 6. 1046 + case `/bin/uname -X | grep "^Machine"` in 1047 + *486*) UNAME_MACHINE=i486 ;; 1048 + *Pentium) UNAME_MACHINE=i586 ;; 1049 + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1050 + esac 1051 + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1052 + exit ;; 1053 + i*86:*:3.2:*) 1054 + if test -f /usr/options/cb.name; then 1055 + UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1056 + echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 1057 + elif /bin/uname -X 2>/dev/null >/dev/null ; then 1058 + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1059 + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1060 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1061 + && UNAME_MACHINE=i586 1062 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1063 + && UNAME_MACHINE=i686 1064 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1065 + && UNAME_MACHINE=i686 1066 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 1067 + else 1068 + echo ${UNAME_MACHINE}-pc-sysv32 1069 + fi 1070 + exit ;; 1071 + pc:*:*:*) 1072 + # Left here for compatibility: 1073 + # uname -m prints for DJGPP always 'pc', but it prints nothing about 1074 + # the processor, so we play safe by assuming i586. 1075 + # Note: whatever this is, it MUST be the same as what config.sub 1076 + # prints for the "djgpp" host, or else GDB configury will decide that 1077 + # this is a cross-build. 1078 + echo i586-pc-msdosdjgpp 1079 + exit ;; 1080 + Intel:Mach:3*:*) 1081 + echo i386-pc-mach3 1082 + exit ;; 1083 + paragon:*:*:*) 1084 + echo i860-intel-osf1 1085 + exit ;; 1086 + i860:*:4.*:*) # i860-SVR4 1087 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1088 + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1089 + else # Add other i860-SVR4 vendors below as they are discovered. 1090 + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1091 + fi 1092 + exit ;; 1093 + mini*:CTIX:SYS*5:*) 1094 + # "miniframe" 1095 + echo m68010-convergent-sysv 1096 + exit ;; 1097 + mc68k:UNIX:SYSTEM5:3.51m) 1098 + echo m68k-convergent-sysv 1099 + exit ;; 1100 + M680?0:D-NIX:5.3:*) 1101 + echo m68k-diab-dnix 1102 + exit ;; 1103 + M68*:*:R3V[5678]*:*) 1104 + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1105 + 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) 1106 + OS_REL='' 1107 + test -r /etc/.relid \ 1108 + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1109 + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1110 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1111 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1112 + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1113 + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1114 + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1115 + && { echo i486-ncr-sysv4; exit; } ;; 1116 + NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1117 + OS_REL='.3' 1118 + test -r /etc/.relid \ 1119 + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1120 + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1121 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1122 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1123 + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 1124 + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1125 + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1126 + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1127 + echo m68k-unknown-lynxos${UNAME_RELEASE} 1128 + exit ;; 1129 + mc68030:UNIX_System_V:4.*:*) 1130 + echo m68k-atari-sysv4 1131 + exit ;; 1132 + TSUNAMI:LynxOS:2.*:*) 1133 + echo sparc-unknown-lynxos${UNAME_RELEASE} 1134 + exit ;; 1135 + rs6000:LynxOS:2.*:*) 1136 + echo rs6000-unknown-lynxos${UNAME_RELEASE} 1137 + exit ;; 1138 + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1139 + echo powerpc-unknown-lynxos${UNAME_RELEASE} 1140 + exit ;; 1141 + SM[BE]S:UNIX_SV:*:*) 1142 + echo mips-dde-sysv${UNAME_RELEASE} 1143 + exit ;; 1144 + RM*:ReliantUNIX-*:*:*) 1145 + echo mips-sni-sysv4 1146 + exit ;; 1147 + RM*:SINIX-*:*:*) 1148 + echo mips-sni-sysv4 1149 + exit ;; 1150 + *:SINIX-*:*:*) 1151 + if uname -p 2>/dev/null >/dev/null ; then 1152 + UNAME_MACHINE=`(uname -p) 2>/dev/null` 1153 + echo ${UNAME_MACHINE}-sni-sysv4 1154 + else 1155 + echo ns32k-sni-sysv 1156 + fi 1157 + exit ;; 1158 + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1159 + # says <Richard.M.Bartel@ccMail.Census.GOV> 1160 + echo i586-unisys-sysv4 1161 + exit ;; 1162 + *:UNIX_System_V:4*:FTX*) 1163 + # From Gerald Hewes <hewes@openmarket.com>. 1164 + # How about differentiating between stratus architectures? -djm 1165 + echo hppa1.1-stratus-sysv4 1166 + exit ;; 1167 + *:*:*:FTX*) 1168 + # From seanf@swdc.stratus.com. 1169 + echo i860-stratus-sysv4 1170 + exit ;; 1171 + i*86:VOS:*:*) 1172 + # From Paul.Green@stratus.com. 1173 + echo ${UNAME_MACHINE}-stratus-vos 1174 + exit ;; 1175 + *:VOS:*:*) 1176 + # From Paul.Green@stratus.com. 1177 + echo hppa1.1-stratus-vos 1178 + exit ;; 1179 + mc68*:A/UX:*:*) 1180 + echo m68k-apple-aux${UNAME_RELEASE} 1181 + exit ;; 1182 + news*:NEWS-OS:6*:*) 1183 + echo mips-sony-newsos6 1184 + exit ;; 1185 + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1186 + if [ -d /usr/nec ]; then 1187 + echo mips-nec-sysv${UNAME_RELEASE} 1188 + else 1189 + echo mips-unknown-sysv${UNAME_RELEASE} 1190 + fi 1191 + exit ;; 1192 + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1193 + echo powerpc-be-beos 1194 + exit ;; 1195 + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1196 + echo powerpc-apple-beos 1197 + exit ;; 1198 + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1199 + echo i586-pc-beos 1200 + exit ;; 1201 + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1202 + echo i586-pc-haiku 1203 + exit ;; 1204 + SX-4:SUPER-UX:*:*) 1205 + echo sx4-nec-superux${UNAME_RELEASE} 1206 + exit ;; 1207 + SX-5:SUPER-UX:*:*) 1208 + echo sx5-nec-superux${UNAME_RELEASE} 1209 + exit ;; 1210 + SX-6:SUPER-UX:*:*) 1211 + echo sx6-nec-superux${UNAME_RELEASE} 1212 + exit ;; 1213 + SX-7:SUPER-UX:*:*) 1214 + echo sx7-nec-superux${UNAME_RELEASE} 1215 + exit ;; 1216 + SX-8:SUPER-UX:*:*) 1217 + echo sx8-nec-superux${UNAME_RELEASE} 1218 + exit ;; 1219 + SX-8R:SUPER-UX:*:*) 1220 + echo sx8r-nec-superux${UNAME_RELEASE} 1221 + exit ;; 1222 + Power*:Rhapsody:*:*) 1223 + echo powerpc-apple-rhapsody${UNAME_RELEASE} 1224 + exit ;; 1225 + *:Rhapsody:*:*) 1226 + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1227 + exit ;; 1228 + *:Darwin:*:*) 1229 + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1230 + case $UNAME_PROCESSOR in 1231 + i386) 1232 + eval $set_cc_for_build 1233 + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 1234 + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1235 + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 1236 + grep IS_64BIT_ARCH >/dev/null 1237 + then 1238 + UNAME_PROCESSOR="x86_64" 1239 + fi 1240 + fi ;; 1241 + unknown) UNAME_PROCESSOR=powerpc ;; 1242 + esac 1243 + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1244 + exit ;; 1245 + *:procnto*:*:* | *:QNX:[0123456789]*:*) 1246 + UNAME_PROCESSOR=`uname -p` 1247 + if test "$UNAME_PROCESSOR" = "x86"; then 1248 + UNAME_PROCESSOR=i386 1249 + UNAME_MACHINE=pc 1250 + fi 1251 + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1252 + exit ;; 1253 + *:QNX:*:4*) 1254 + echo i386-pc-qnx 1255 + exit ;; 1256 + NEO-?:NONSTOP_KERNEL:*:*) 1257 + echo neo-tandem-nsk${UNAME_RELEASE} 1258 + exit ;; 1259 + NSE-*:NONSTOP_KERNEL:*:*) 1260 + echo nse-tandem-nsk${UNAME_RELEASE} 1261 + exit ;; 1262 + NSR-?:NONSTOP_KERNEL:*:*) 1263 + echo nsr-tandem-nsk${UNAME_RELEASE} 1264 + exit ;; 1265 + *:NonStop-UX:*:*) 1266 + echo mips-compaq-nonstopux 1267 + exit ;; 1268 + BS2000:POSIX*:*:*) 1269 + echo bs2000-siemens-sysv 1270 + exit ;; 1271 + DS/*:UNIX_System_V:*:*) 1272 + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1273 + exit ;; 1274 + *:Plan9:*:*) 1275 + # "uname -m" is not consistent, so use $cputype instead. 386 1276 + # is converted to i386 for consistency with other x86 1277 + # operating systems. 1278 + if test "$cputype" = "386"; then 1279 + UNAME_MACHINE=i386 1280 + else 1281 + UNAME_MACHINE="$cputype" 1282 + fi 1283 + echo ${UNAME_MACHINE}-unknown-plan9 1284 + exit ;; 1285 + *:TOPS-10:*:*) 1286 + echo pdp10-unknown-tops10 1287 + exit ;; 1288 + *:TENEX:*:*) 1289 + echo pdp10-unknown-tenex 1290 + exit ;; 1291 + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1292 + echo pdp10-dec-tops20 1293 + exit ;; 1294 + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1295 + echo pdp10-xkl-tops20 1296 + exit ;; 1297 + *:TOPS-20:*:*) 1298 + echo pdp10-unknown-tops20 1299 + exit ;; 1300 + *:ITS:*:*) 1301 + echo pdp10-unknown-its 1302 + exit ;; 1303 + SEI:*:*:SEIUX) 1304 + echo mips-sei-seiux${UNAME_RELEASE} 1305 + exit ;; 1306 + *:DragonFly:*:*) 1307 + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1308 + exit ;; 1309 + *:*VMS:*:*) 1310 + UNAME_MACHINE=`(uname -p) 2>/dev/null` 1311 + case "${UNAME_MACHINE}" in 1312 + A*) echo alpha-dec-vms ; exit ;; 1313 + I*) echo ia64-dec-vms ; exit ;; 1314 + V*) echo vax-dec-vms ; exit ;; 1315 + esac ;; 1316 + *:XENIX:*:SysV) 1317 + echo i386-pc-xenix 1318 + exit ;; 1319 + i*86:skyos:*:*) 1320 + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1321 + exit ;; 1322 + i*86:rdos:*:*) 1323 + echo ${UNAME_MACHINE}-pc-rdos 1324 + exit ;; 1325 + i*86:AROS:*:*) 1326 + echo ${UNAME_MACHINE}-pc-aros 1327 + exit ;; 1328 + x86_64:VMkernel:*:*) 1329 + echo ${UNAME_MACHINE}-unknown-esx 1330 + exit ;; 1331 +esac 1332 + 1333 +#echo '(No uname command or uname output not recognized.)' 1>&2 1334 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 1335 + 1336 +eval $set_cc_for_build 1337 +cat >$dummy.c <<EOF 1338 +#ifdef _SEQUENT_ 1339 +# include <sys/types.h> 1340 +# include <sys/utsname.h> 1341 +#endif 1342 +main () 1343 +{ 1344 +#if defined (sony) 1345 +#if defined (MIPSEB) 1346 + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1347 + I don't know.... */ 1348 + printf ("mips-sony-bsd\n"); exit (0); 1349 +#else 1350 +#include <sys/param.h> 1351 + printf ("m68k-sony-newsos%s\n", 1352 +#ifdef NEWSOS4 1353 + "4" 1354 +#else 1355 + "" 1356 +#endif 1357 + ); exit (0); 1358 +#endif 1359 +#endif 1360 + 1361 +#if defined (__arm) && defined (__acorn) && defined (__unix) 1362 + printf ("arm-acorn-riscix\n"); exit (0); 1363 +#endif 1364 + 1365 +#if defined (hp300) && !defined (hpux) 1366 + printf ("m68k-hp-bsd\n"); exit (0); 1367 +#endif 1368 + 1369 +#if defined (NeXT) 1370 +#if !defined (__ARCHITECTURE__) 1371 +#define __ARCHITECTURE__ "m68k" 1372 +#endif 1373 + int version; 1374 + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1375 + if (version < 4) 1376 + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1377 + else 1378 + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1379 + exit (0); 1380 +#endif 1381 + 1382 +#if defined (MULTIMAX) || defined (n16) 1383 +#if defined (UMAXV) 1384 + printf ("ns32k-encore-sysv\n"); exit (0); 1385 +#else 1386 +#if defined (CMU) 1387 + printf ("ns32k-encore-mach\n"); exit (0); 1388 +#else 1389 + printf ("ns32k-encore-bsd\n"); exit (0); 1390 +#endif 1391 +#endif 1392 +#endif 1393 + 1394 +#if defined (__386BSD__) 1395 + printf ("i386-pc-bsd\n"); exit (0); 1396 +#endif 1397 + 1398 +#if defined (sequent) 1399 +#if defined (i386) 1400 + printf ("i386-sequent-dynix\n"); exit (0); 1401 +#endif 1402 +#if defined (ns32000) 1403 + printf ("ns32k-sequent-dynix\n"); exit (0); 1404 +#endif 1405 +#endif 1406 + 1407 +#if defined (_SEQUENT_) 1408 + struct utsname un; 1409 + 1410 + uname(&un); 1411 + 1412 + if (strncmp(un.version, "V2", 2) == 0) { 1413 + printf ("i386-sequent-ptx2\n"); exit (0); 1414 + } 1415 + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1416 + printf ("i386-sequent-ptx1\n"); exit (0); 1417 + } 1418 + printf ("i386-sequent-ptx\n"); exit (0); 1419 + 1420 +#endif 1421 + 1422 +#if defined (vax) 1423 +# if !defined (ultrix) 1424 +# include <sys/param.h> 1425 +# if defined (BSD) 1426 +# if BSD == 43 1427 + printf ("vax-dec-bsd4.3\n"); exit (0); 1428 +# else 1429 +# if BSD == 199006 1430 + printf ("vax-dec-bsd4.3reno\n"); exit (0); 1431 +# else 1432 + printf ("vax-dec-bsd\n"); exit (0); 1433 +# endif 1434 +# endif 1435 +# else 1436 + printf ("vax-dec-bsd\n"); exit (0); 1437 +# endif 1438 +# else 1439 + printf ("vax-dec-ultrix\n"); exit (0); 1440 +# endif 1441 +#endif 1442 + 1443 +#if defined (alliant) && defined (i860) 1444 + printf ("i860-alliant-bsd\n"); exit (0); 1445 +#endif 1446 + 1447 + exit (1); 1448 +} 1449 +EOF 1450 + 1451 +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1452 + { echo "$SYSTEM_NAME"; exit; } 1453 + 1454 +# Apollos put the system type in the environment. 1455 + 1456 +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 1457 + 1458 +# Convex versions that predate uname can use getsysinfo(1) 1459 + 1460 +if [ -x /usr/convex/getsysinfo ] 1461 +then 1462 + case `getsysinfo -f cpu_type` in 1463 + c1*) 1464 + echo c1-convex-bsd 1465 + exit ;; 1466 + c2*) 1467 + if getsysinfo -f scalar_acc 1468 + then echo c32-convex-bsd 1469 + else echo c2-convex-bsd 1470 + fi 1471 + exit ;; 1472 + c34*) 1473 + echo c34-convex-bsd 1474 + exit ;; 1475 + c38*) 1476 + echo c38-convex-bsd 1477 + exit ;; 1478 + c4*) 1479 + echo c4-convex-bsd 1480 + exit ;; 1481 + esac 1482 +fi 1483 + 1484 +cat >&2 <<EOF 1485 +$0: unable to guess system type 1486 + 1487 +This script, last modified $timestamp, has failed to recognize 1488 +the operating system you are using. It is advised that you 1489 +download the most up to date version of the config scripts from 1490 + 1491 + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 1492 +and 1493 + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 1494 + 1495 +If the version you run ($0) is already up to date, please 1496 +send the following data and any information you think might be 1497 +pertinent to <config-patches@gnu.org> in order to provide the needed 1498 +information to handle your system. 1499 + 1500 +config.guess timestamp = $timestamp 1501 + 1502 +uname -m = `(uname -m) 2>/dev/null || echo unknown` 1503 +uname -r = `(uname -r) 2>/dev/null || echo unknown` 1504 +uname -s = `(uname -s) 2>/dev/null || echo unknown` 1505 +uname -v = `(uname -v) 2>/dev/null || echo unknown` 1506 + 1507 +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1508 +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1509 + 1510 +hostinfo = `(hostinfo) 2>/dev/null` 1511 +/bin/universe = `(/bin/universe) 2>/dev/null` 1512 +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1513 +/bin/arch = `(/bin/arch) 2>/dev/null` 1514 +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1515 +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1516 + 1517 +UNAME_MACHINE = ${UNAME_MACHINE} 1518 +UNAME_RELEASE = ${UNAME_RELEASE} 1519 +UNAME_SYSTEM = ${UNAME_SYSTEM} 1520 +UNAME_VERSION = ${UNAME_VERSION} 1521 +EOF 1522 + 1523 +exit 1 1524 + 1525 +# Local variables: 1526 +# eval: (add-hook 'write-file-hooks 'time-stamp) 1527 +# time-stamp-start: "timestamp='" 1528 +# time-stamp-format: "%:y-%02m-%02d" 1529 +# time-stamp-end: "'" 1530 +# End:
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, 2010, 5 +# 2011, 2012 Free Software Foundation, Inc. 6 + 7 +timestamp='2012-04-18' 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, see <http://www.gnu.org/licenses/>. 25 +# 26 +# As a special exception to the GNU General Public License, if you 27 +# distribute this file as part of a program that contains a 28 +# configuration script generated by Autoconf, you may include it under 29 +# the same distribution terms that you use for the rest of that program. 30 + 31 + 32 +# Please send patches to <config-patches@gnu.org>. Submit a context 33 +# diff and a properly formatted GNU ChangeLog entry. 34 +# 35 +# Configuration subroutine to validate and canonicalize a configuration type. 36 +# Supply the specified configuration type as an argument. 37 +# If it is invalid, we print an error message on stderr and exit with code 1. 38 +# Otherwise, we print the canonical config type on stdout and succeed. 39 + 40 +# You can get the latest version of this script from: 41 +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 42 + 43 +# This file is supposed to be the same for all GNU packages 44 +# and recognize all the CPU types, system types and aliases 45 +# that are meaningful with *any* GNU software. 46 +# Each package is responsible for reporting which valid configurations 47 +# it does not support. The user should be able to distinguish 48 +# a failure to support a valid configuration from a meaningless 49 +# configuration. 50 + 51 +# The goal of this file is to map all the various variations of a given 52 +# machine specification into a single specification in the form: 53 +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 54 +# or in some cases, the newer four-part form: 55 +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 56 +# It is wrong to echo any other type of specification. 57 + 58 +me=`echo "$0" | sed -e 's,.*/,,'` 59 + 60 +usage="\ 61 +Usage: $0 [OPTION] CPU-MFR-OPSYS 62 + $0 [OPTION] ALIAS 63 + 64 +Canonicalize a configuration name. 65 + 66 +Operation modes: 67 + -h, --help print this help, then exit 68 + -t, --time-stamp print date of last modification, then exit 69 + -v, --version print version number, then exit 70 + 71 +Report bugs and patches to <config-patches@gnu.org>." 72 + 73 +version="\ 74 +GNU config.sub ($timestamp) 75 + 76 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 77 +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 78 +Free Software Foundation, Inc. 79 + 80 +This is free software; see the source for copying conditions. There is NO 81 +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 82 + 83 +help=" 84 +Try \`$me --help' for more information." 85 + 86 +# Parse command line 87 +while test $# -gt 0 ; do 88 + case $1 in 89 + --time-stamp | --time* | -t ) 90 + echo "$timestamp" ; exit ;; 91 + --version | -v ) 92 + echo "$version" ; exit ;; 93 + --help | --h* | -h ) 94 + echo "$usage"; exit ;; 95 + -- ) # Stop option processing 96 + shift; break ;; 97 + - ) # Use stdin as input. 98 + break ;; 99 + -* ) 100 + echo "$me: invalid option $1$help" 101 + exit 1 ;; 102 + 103 + *local*) 104 + # First pass through any local machine types. 105 + echo $1 106 + exit ;; 107 + 108 + * ) 109 + break ;; 110 + esac 111 +done 112 + 113 +case $# in 114 + 0) echo "$me: missing argument$help" >&2 115 + exit 1;; 116 + 1) ;; 117 + *) echo "$me: too many arguments$help" >&2 118 + exit 1;; 119 +esac 120 + 121 +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 122 +# Here we must recognize all the valid KERNEL-OS combinations. 123 +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 124 +case $maybe_os in 125 + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 126 + linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 127 + 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 + android-linux) 134 + os=-linux-android 135 + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 136 + ;; 137 + *) 138 + basic_machine=`echo $1 | sed 's/-[^-]*$//'` 139 + if [ $basic_machine != $1 ] 140 + then os=`echo $1 | sed 's/.*-/-/'` 141 + else os=; fi 142 + ;; 143 +esac 144 + 145 +### Let's recognize common machines as not being operating systems so 146 +### that things like config.sub decstation-3100 work. We also 147 +### recognize some manufacturers as not being operating systems, so we 148 +### can provide default operating systems below. 149 +case $os in 150 + -sun*os*) 151 + # Prevent following clause from handling this invalid input. 152 + ;; 153 + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 154 + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 155 + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 156 + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 157 + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 158 + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 159 + -apple | -axis | -knuth | -cray | -microblaze) 160 + os= 161 + basic_machine=$1 162 + ;; 163 + -bluegene*) 164 + os=-cnk 165 + ;; 166 + -sim | -cisco | -oki | -wec | -winbond) 167 + os= 168 + basic_machine=$1 169 + ;; 170 + -scout) 171 + ;; 172 + -wrs) 173 + os=-vxworks 174 + basic_machine=$1 175 + ;; 176 + -chorusos*) 177 + os=-chorusos 178 + basic_machine=$1 179 + ;; 180 + -chorusrdb) 181 + os=-chorusrdb 182 + basic_machine=$1 183 + ;; 184 + -hiux*) 185 + os=-hiuxwe2 186 + ;; 187 + -sco6) 188 + os=-sco5v6 189 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 190 + ;; 191 + -sco5) 192 + os=-sco3.2v5 193 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 194 + ;; 195 + -sco4) 196 + os=-sco3.2v4 197 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 198 + ;; 199 + -sco3.2.[4-9]*) 200 + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 201 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 202 + ;; 203 + -sco3.2v[4-9]*) 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 + -sco5v6*) 208 + # Don't forget version if it is 3.2v4 or newer. 209 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210 + ;; 211 + -sco*) 212 + os=-sco3.2v2 213 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214 + ;; 215 + -udk*) 216 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 217 + ;; 218 + -isc) 219 + os=-isc2.2 220 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 221 + ;; 222 + -clix*) 223 + basic_machine=clipper-intergraph 224 + ;; 225 + -isc*) 226 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 227 + ;; 228 + -lynx*178) 229 + os=-lynxos178 230 + ;; 231 + -lynx*5) 232 + os=-lynxos5 233 + ;; 234 + -lynx*) 235 + os=-lynxos 236 + ;; 237 + -ptx*) 238 + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 239 + ;; 240 + -windowsnt*) 241 + os=`echo $os | sed -e 's/windowsnt/winnt/'` 242 + ;; 243 + -psos*) 244 + os=-psos 245 + ;; 246 + -mint | -mint[0-9]*) 247 + basic_machine=m68k-atari 248 + os=-mint 249 + ;; 250 +esac 251 + 252 +# Decode aliases for certain CPU-COMPANY combinations. 253 +case $basic_machine in 254 + # Recognize the basic CPU types without company name. 255 + # Some are omitted here because they have special meanings below. 256 + 1750a | 580 \ 257 + | a29k \ 258 + | aarch64 | aarch64_be \ 259 + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 260 + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 261 + | am33_2.0 \ 262 + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 263 + | be32 | be64 \ 264 + | bfin \ 265 + | c4x | clipper \ 266 + | d10v | d30v | dlx | dsp16xx \ 267 + | epiphany \ 268 + | fido | fr30 | frv \ 269 + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 270 + | hexagon \ 271 + | i370 | i860 | i960 | ia64 \ 272 + | ip2k | iq2000 \ 273 + | le32 | le64 \ 274 + | lm32 \ 275 + | m32c | m32r | m32rle | m68000 | m68k | m88k \ 276 + | maxq | mb | microblaze | mcore | mep | metag \ 277 + | mips | mipsbe | mipseb | mipsel | mipsle \ 278 + | mips16 \ 279 + | mips64 | mips64el \ 280 + | mips64octeon | mips64octeonel \ 281 + | mips64orion | mips64orionel \ 282 + | mips64r5900 | mips64r5900el \ 283 + | mips64vr | mips64vrel \ 284 + | mips64vr4100 | mips64vr4100el \ 285 + | mips64vr4300 | mips64vr4300el \ 286 + | mips64vr5000 | mips64vr5000el \ 287 + | mips64vr5900 | mips64vr5900el \ 288 + | mipsisa32 | mipsisa32el \ 289 + | mipsisa32r2 | mipsisa32r2el \ 290 + | mipsisa64 | mipsisa64el \ 291 + | mipsisa64r2 | mipsisa64r2el \ 292 + | mipsisa64sb1 | mipsisa64sb1el \ 293 + | mipsisa64sr71k | mipsisa64sr71kel \ 294 + | mipstx39 | mipstx39el \ 295 + | mn10200 | mn10300 \ 296 + | moxie \ 297 + | mt \ 298 + | msp430 \ 299 + | nds32 | nds32le | nds32be \ 300 + | nios | nios2 \ 301 + | ns16k | ns32k \ 302 + | open8 \ 303 + | or32 \ 304 + | pdp10 | pdp11 | pj | pjl \ 305 + | powerpc | powerpc64 | powerpc64le | powerpcle \ 306 + | pyramid \ 307 + | rl78 | rx \ 308 + | score \ 309 + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 310 + | sh64 | sh64le \ 311 + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 312 + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 313 + | spu \ 314 + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 315 + | ubicom32 \ 316 + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 317 + | we32k \ 318 + | x86 | xc16x | xstormy16 | xtensa \ 319 + | z8k | z80) 320 + basic_machine=$basic_machine-unknown 321 + ;; 322 + c54x) 323 + basic_machine=tic54x-unknown 324 + ;; 325 + c55x) 326 + basic_machine=tic55x-unknown 327 + ;; 328 + c6x) 329 + basic_machine=tic6x-unknown 330 + ;; 331 + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) 332 + basic_machine=$basic_machine-unknown 333 + os=-none 334 + ;; 335 + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 336 + ;; 337 + ms1) 338 + basic_machine=mt-unknown 339 + ;; 340 + 341 + strongarm | thumb | xscale) 342 + basic_machine=arm-unknown 343 + ;; 344 + xgate) 345 + basic_machine=$basic_machine-unknown 346 + os=-none 347 + ;; 348 + xscaleeb) 349 + basic_machine=armeb-unknown 350 + ;; 351 + 352 + xscaleel) 353 + basic_machine=armel-unknown 354 + ;; 355 + 356 + # We use `pc' rather than `unknown' 357 + # because (1) that's what they normally are, and 358 + # (2) the word "unknown" tends to confuse beginning users. 359 + i*86 | x86_64) 360 + basic_machine=$basic_machine-pc 361 + ;; 362 + # Object if more than one company name word. 363 + *-*-*) 364 + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 365 + exit 1 366 + ;; 367 + # Recognize the basic CPU types with company name. 368 + 580-* \ 369 + | a29k-* \ 370 + | aarch64-* | aarch64_be-* \ 371 + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 372 + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 373 + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 374 + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 375 + | avr-* | avr32-* \ 376 + | be32-* | be64-* \ 377 + | bfin-* | bs2000-* \ 378 + | c[123]* | c30-* | [cjt]90-* | c4x-* \ 379 + | clipper-* | craynv-* | cydra-* \ 380 + | d10v-* | d30v-* | dlx-* \ 381 + | elxsi-* \ 382 + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 383 + | h8300-* | h8500-* \ 384 + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 385 + | hexagon-* \ 386 + | i*86-* | i860-* | i960-* | ia64-* \ 387 + | ip2k-* | iq2000-* \ 388 + | le32-* | le64-* \ 389 + | lm32-* \ 390 + | m32c-* | m32r-* | m32rle-* \ 391 + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 392 + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 393 + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 394 + | mips16-* \ 395 + | mips64-* | mips64el-* \ 396 + | mips64octeon-* | mips64octeonel-* \ 397 + | mips64orion-* | mips64orionel-* \ 398 + | mips64r5900-* | mips64r5900el-* \ 399 + | mips64vr-* | mips64vrel-* \ 400 + | mips64vr4100-* | mips64vr4100el-* \ 401 + | mips64vr4300-* | mips64vr4300el-* \ 402 + | mips64vr5000-* | mips64vr5000el-* \ 403 + | mips64vr5900-* | mips64vr5900el-* \ 404 + | mipsisa32-* | mipsisa32el-* \ 405 + | mipsisa32r2-* | mipsisa32r2el-* \ 406 + | mipsisa64-* | mipsisa64el-* \ 407 + | mipsisa64r2-* | mipsisa64r2el-* \ 408 + | mipsisa64sb1-* | mipsisa64sb1el-* \ 409 + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 410 + | mipstx39-* | mipstx39el-* \ 411 + | mmix-* \ 412 + | mt-* \ 413 + | msp430-* \ 414 + | nds32-* | nds32le-* | nds32be-* \ 415 + | nios-* | nios2-* \ 416 + | none-* | np1-* | ns16k-* | ns32k-* \ 417 + | open8-* \ 418 + | orion-* \ 419 + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 420 + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 421 + | pyramid-* \ 422 + | rl78-* | romp-* | rs6000-* | rx-* \ 423 + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 424 + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 425 + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 426 + | sparclite-* \ 427 + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 428 + | tahoe-* \ 429 + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 430 + | tile*-* \ 431 + | tron-* \ 432 + | ubicom32-* \ 433 + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 434 + | vax-* \ 435 + | we32k-* \ 436 + | x86-* | x86_64-* | xc16x-* | xps100-* \ 437 + | xstormy16-* | xtensa*-* \ 438 + | ymp-* \ 439 + | z8k-* | z80-*) 440 + ;; 441 + # Recognize the basic CPU types without company name, with glob match. 442 + xtensa*) 443 + basic_machine=$basic_machine-unknown 444 + ;; 445 + # Recognize the various machine names and aliases which stand 446 + # for a CPU type and a company and sometimes even an OS. 447 + 386bsd) 448 + basic_machine=i386-unknown 449 + os=-bsd 450 + ;; 451 + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 452 + basic_machine=m68000-att 453 + ;; 454 + 3b*) 455 + basic_machine=we32k-att 456 + ;; 457 + a29khif) 458 + basic_machine=a29k-amd 459 + os=-udi 460 + ;; 461 + abacus) 462 + basic_machine=abacus-unknown 463 + ;; 464 + adobe68k) 465 + basic_machine=m68010-adobe 466 + os=-scout 467 + ;; 468 + alliant | fx80) 469 + basic_machine=fx80-alliant 470 + ;; 471 + altos | altos3068) 472 + basic_machine=m68k-altos 473 + ;; 474 + am29k) 475 + basic_machine=a29k-none 476 + os=-bsd 477 + ;; 478 + amd64) 479 + basic_machine=x86_64-pc 480 + ;; 481 + amd64-*) 482 + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 483 + ;; 484 + amdahl) 485 + basic_machine=580-amdahl 486 + os=-sysv 487 + ;; 488 + amiga | amiga-*) 489 + basic_machine=m68k-unknown 490 + ;; 491 + amigaos | amigados) 492 + basic_machine=m68k-unknown 493 + os=-amigaos 494 + ;; 495 + amigaunix | amix) 496 + basic_machine=m68k-unknown 497 + os=-sysv4 498 + ;; 499 + apollo68) 500 + basic_machine=m68k-apollo 501 + os=-sysv 502 + ;; 503 + apollo68bsd) 504 + basic_machine=m68k-apollo 505 + os=-bsd 506 + ;; 507 + aros) 508 + basic_machine=i386-pc 509 + os=-aros 510 + ;; 511 + aux) 512 + basic_machine=m68k-apple 513 + os=-aux 514 + ;; 515 + balance) 516 + basic_machine=ns32k-sequent 517 + os=-dynix 518 + ;; 519 + blackfin) 520 + basic_machine=bfin-unknown 521 + os=-linux 522 + ;; 523 + blackfin-*) 524 + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 525 + os=-linux 526 + ;; 527 + bluegene*) 528 + basic_machine=powerpc-ibm 529 + os=-cnk 530 + ;; 531 + c54x-*) 532 + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 533 + ;; 534 + c55x-*) 535 + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 536 + ;; 537 + c6x-*) 538 + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 539 + ;; 540 + c90) 541 + basic_machine=c90-cray 542 + os=-unicos 543 + ;; 544 + cegcc) 545 + basic_machine=arm-unknown 546 + os=-cegcc 547 + ;; 548 + convex-c1) 549 + basic_machine=c1-convex 550 + os=-bsd 551 + ;; 552 + convex-c2) 553 + basic_machine=c2-convex 554 + os=-bsd 555 + ;; 556 + convex-c32) 557 + basic_machine=c32-convex 558 + os=-bsd 559 + ;; 560 + convex-c34) 561 + basic_machine=c34-convex 562 + os=-bsd 563 + ;; 564 + convex-c38) 565 + basic_machine=c38-convex 566 + os=-bsd 567 + ;; 568 + cray | j90) 569 + basic_machine=j90-cray 570 + os=-unicos 571 + ;; 572 + craynv) 573 + basic_machine=craynv-cray 574 + os=-unicosmp 575 + ;; 576 + cr16 | cr16-*) 577 + basic_machine=cr16-unknown 578 + os=-elf 579 + ;; 580 + crds | unos) 581 + basic_machine=m68k-crds 582 + ;; 583 + crisv32 | crisv32-* | etraxfs*) 584 + basic_machine=crisv32-axis 585 + ;; 586 + cris | cris-* | etrax*) 587 + basic_machine=cris-axis 588 + ;; 589 + crx) 590 + basic_machine=crx-unknown 591 + os=-elf 592 + ;; 593 + da30 | da30-*) 594 + basic_machine=m68k-da30 595 + ;; 596 + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 597 + basic_machine=mips-dec 598 + ;; 599 + decsystem10* | dec10*) 600 + basic_machine=pdp10-dec 601 + os=-tops10 602 + ;; 603 + decsystem20* | dec20*) 604 + basic_machine=pdp10-dec 605 + os=-tops20 606 + ;; 607 + delta | 3300 | motorola-3300 | motorola-delta \ 608 + | 3300-motorola | delta-motorola) 609 + basic_machine=m68k-motorola 610 + ;; 611 + delta88) 612 + basic_machine=m88k-motorola 613 + os=-sysv3 614 + ;; 615 + dicos) 616 + basic_machine=i686-pc 617 + os=-dicos 618 + ;; 619 + djgpp) 620 + basic_machine=i586-pc 621 + os=-msdosdjgpp 622 + ;; 623 + dpx20 | dpx20-*) 624 + basic_machine=rs6000-bull 625 + os=-bosx 626 + ;; 627 + dpx2* | dpx2*-bull) 628 + basic_machine=m68k-bull 629 + os=-sysv3 630 + ;; 631 + ebmon29k) 632 + basic_machine=a29k-amd 633 + os=-ebmon 634 + ;; 635 + elxsi) 636 + basic_machine=elxsi-elxsi 637 + os=-bsd 638 + ;; 639 + encore | umax | mmax) 640 + basic_machine=ns32k-encore 641 + ;; 642 + es1800 | OSE68k | ose68k | ose | OSE) 643 + basic_machine=m68k-ericsson 644 + os=-ose 645 + ;; 646 + fx2800) 647 + basic_machine=i860-alliant 648 + ;; 649 + genix) 650 + basic_machine=ns32k-ns 651 + ;; 652 + gmicro) 653 + basic_machine=tron-gmicro 654 + os=-sysv 655 + ;; 656 + go32) 657 + basic_machine=i386-pc 658 + os=-go32 659 + ;; 660 + h3050r* | hiux*) 661 + basic_machine=hppa1.1-hitachi 662 + os=-hiuxwe2 663 + ;; 664 + h8300hms) 665 + basic_machine=h8300-hitachi 666 + os=-hms 667 + ;; 668 + h8300xray) 669 + basic_machine=h8300-hitachi 670 + os=-xray 671 + ;; 672 + h8500hms) 673 + basic_machine=h8500-hitachi 674 + os=-hms 675 + ;; 676 + harris) 677 + basic_machine=m88k-harris 678 + os=-sysv3 679 + ;; 680 + hp300-*) 681 + basic_machine=m68k-hp 682 + ;; 683 + hp300bsd) 684 + basic_machine=m68k-hp 685 + os=-bsd 686 + ;; 687 + hp300hpux) 688 + basic_machine=m68k-hp 689 + os=-hpux 690 + ;; 691 + hp3k9[0-9][0-9] | hp9[0-9][0-9]) 692 + basic_machine=hppa1.0-hp 693 + ;; 694 + hp9k2[0-9][0-9] | hp9k31[0-9]) 695 + basic_machine=m68000-hp 696 + ;; 697 + hp9k3[2-9][0-9]) 698 + basic_machine=m68k-hp 699 + ;; 700 + hp9k6[0-9][0-9] | hp6[0-9][0-9]) 701 + basic_machine=hppa1.0-hp 702 + ;; 703 + hp9k7[0-79][0-9] | hp7[0-79][0-9]) 704 + basic_machine=hppa1.1-hp 705 + ;; 706 + hp9k78[0-9] | hp78[0-9]) 707 + # FIXME: really hppa2.0-hp 708 + basic_machine=hppa1.1-hp 709 + ;; 710 + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 711 + # FIXME: really hppa2.0-hp 712 + basic_machine=hppa1.1-hp 713 + ;; 714 + hp9k8[0-9][13679] | hp8[0-9][13679]) 715 + basic_machine=hppa1.1-hp 716 + ;; 717 + hp9k8[0-9][0-9] | hp8[0-9][0-9]) 718 + basic_machine=hppa1.0-hp 719 + ;; 720 + hppa-next) 721 + os=-nextstep3 722 + ;; 723 + hppaosf) 724 + basic_machine=hppa1.1-hp 725 + os=-osf 726 + ;; 727 + hppro) 728 + basic_machine=hppa1.1-hp 729 + os=-proelf 730 + ;; 731 + i370-ibm* | ibm*) 732 + basic_machine=i370-ibm 733 + ;; 734 + i*86v32) 735 + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 736 + os=-sysv32 737 + ;; 738 + i*86v4*) 739 + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 740 + os=-sysv4 741 + ;; 742 + i*86v) 743 + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 744 + os=-sysv 745 + ;; 746 + i*86sol2) 747 + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 748 + os=-solaris2 749 + ;; 750 + i386mach) 751 + basic_machine=i386-mach 752 + os=-mach 753 + ;; 754 + i386-vsta | vsta) 755 + basic_machine=i386-unknown 756 + os=-vsta 757 + ;; 758 + iris | iris4d) 759 + basic_machine=mips-sgi 760 + case $os in 761 + -irix*) 762 + ;; 763 + *) 764 + os=-irix4 765 + ;; 766 + esac 767 + ;; 768 + isi68 | isi) 769 + basic_machine=m68k-isi 770 + os=-sysv 771 + ;; 772 + m68knommu) 773 + basic_machine=m68k-unknown 774 + os=-linux 775 + ;; 776 + m68knommu-*) 777 + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 778 + os=-linux 779 + ;; 780 + m88k-omron*) 781 + basic_machine=m88k-omron 782 + ;; 783 + magnum | m3230) 784 + basic_machine=mips-mips 785 + os=-sysv 786 + ;; 787 + merlin) 788 + basic_machine=ns32k-utek 789 + os=-sysv 790 + ;; 791 + microblaze) 792 + basic_machine=microblaze-xilinx 793 + ;; 794 + mingw32) 795 + basic_machine=i386-pc 796 + os=-mingw32 797 + ;; 798 + mingw32ce) 799 + basic_machine=arm-unknown 800 + os=-mingw32ce 801 + ;; 802 + miniframe) 803 + basic_machine=m68000-convergent 804 + ;; 805 + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 806 + basic_machine=m68k-atari 807 + os=-mint 808 + ;; 809 + mips3*-*) 810 + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 811 + ;; 812 + mips3*) 813 + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 814 + ;; 815 + monitor) 816 + basic_machine=m68k-rom68k 817 + os=-coff 818 + ;; 819 + morphos) 820 + basic_machine=powerpc-unknown 821 + os=-morphos 822 + ;; 823 + msdos) 824 + basic_machine=i386-pc 825 + os=-msdos 826 + ;; 827 + ms1-*) 828 + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 829 + ;; 830 + msys) 831 + basic_machine=i386-pc 832 + os=-msys 833 + ;; 834 + mvs) 835 + basic_machine=i370-ibm 836 + os=-mvs 837 + ;; 838 + nacl) 839 + basic_machine=le32-unknown 840 + os=-nacl 841 + ;; 842 + ncr3000) 843 + basic_machine=i486-ncr 844 + os=-sysv4 845 + ;; 846 + netbsd386) 847 + basic_machine=i386-unknown 848 + os=-netbsd 849 + ;; 850 + netwinder) 851 + basic_machine=armv4l-rebel 852 + os=-linux 853 + ;; 854 + news | news700 | news800 | news900) 855 + basic_machine=m68k-sony 856 + os=-newsos 857 + ;; 858 + news1000) 859 + basic_machine=m68030-sony 860 + os=-newsos 861 + ;; 862 + news-3600 | risc-news) 863 + basic_machine=mips-sony 864 + os=-newsos 865 + ;; 866 + necv70) 867 + basic_machine=v70-nec 868 + os=-sysv 869 + ;; 870 + next | m*-next ) 871 + basic_machine=m68k-next 872 + case $os in 873 + -nextstep* ) 874 + ;; 875 + -ns2*) 876 + os=-nextstep2 877 + ;; 878 + *) 879 + os=-nextstep3 880 + ;; 881 + esac 882 + ;; 883 + nh3000) 884 + basic_machine=m68k-harris 885 + os=-cxux 886 + ;; 887 + nh[45]000) 888 + basic_machine=m88k-harris 889 + os=-cxux 890 + ;; 891 + nindy960) 892 + basic_machine=i960-intel 893 + os=-nindy 894 + ;; 895 + mon960) 896 + basic_machine=i960-intel 897 + os=-mon960 898 + ;; 899 + nonstopux) 900 + basic_machine=mips-compaq 901 + os=-nonstopux 902 + ;; 903 + np1) 904 + basic_machine=np1-gould 905 + ;; 906 + neo-tandem) 907 + basic_machine=neo-tandem 908 + ;; 909 + nse-tandem) 910 + basic_machine=nse-tandem 911 + ;; 912 + nsr-tandem) 913 + basic_machine=nsr-tandem 914 + ;; 915 + op50n-* | op60c-*) 916 + basic_machine=hppa1.1-oki 917 + os=-proelf 918 + ;; 919 + openrisc | openrisc-*) 920 + basic_machine=or32-unknown 921 + ;; 922 + os400) 923 + basic_machine=powerpc-ibm 924 + os=-os400 925 + ;; 926 + OSE68000 | ose68000) 927 + basic_machine=m68000-ericsson 928 + os=-ose 929 + ;; 930 + os68k) 931 + basic_machine=m68k-none 932 + os=-os68k 933 + ;; 934 + pa-hitachi) 935 + basic_machine=hppa1.1-hitachi 936 + os=-hiuxwe2 937 + ;; 938 + paragon) 939 + basic_machine=i860-intel 940 + os=-osf 941 + ;; 942 + parisc) 943 + basic_machine=hppa-unknown 944 + os=-linux 945 + ;; 946 + parisc-*) 947 + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 948 + os=-linux 949 + ;; 950 + pbd) 951 + basic_machine=sparc-tti 952 + ;; 953 + pbb) 954 + basic_machine=m68k-tti 955 + ;; 956 + pc532 | pc532-*) 957 + basic_machine=ns32k-pc532 958 + ;; 959 + pc98) 960 + basic_machine=i386-pc 961 + ;; 962 + pc98-*) 963 + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 964 + ;; 965 + pentium | p5 | k5 | k6 | nexgen | viac3) 966 + basic_machine=i586-pc 967 + ;; 968 + pentiumpro | p6 | 6x86 | athlon | athlon_*) 969 + basic_machine=i686-pc 970 + ;; 971 + pentiumii | pentium2 | pentiumiii | pentium3) 972 + basic_machine=i686-pc 973 + ;; 974 + pentium4) 975 + basic_machine=i786-pc 976 + ;; 977 + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 978 + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 979 + ;; 980 + pentiumpro-* | p6-* | 6x86-* | athlon-*) 981 + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 982 + ;; 983 + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 984 + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 985 + ;; 986 + pentium4-*) 987 + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 988 + ;; 989 + pn) 990 + basic_machine=pn-gould 991 + ;; 992 + power) basic_machine=power-ibm 993 + ;; 994 + ppc | ppcbe) basic_machine=powerpc-unknown 995 + ;; 996 + ppc-* | ppcbe-*) 997 + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 998 + ;; 999 + ppcle | powerpclittle | ppc-le | powerpc-little) 1000 + basic_machine=powerpcle-unknown 1001 + ;; 1002 + ppcle-* | powerpclittle-*) 1003 + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1004 + ;; 1005 + ppc64) basic_machine=powerpc64-unknown 1006 + ;; 1007 + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1008 + ;; 1009 + ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1010 + basic_machine=powerpc64le-unknown 1011 + ;; 1012 + ppc64le-* | powerpc64little-*) 1013 + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1014 + ;; 1015 + ps2) 1016 + basic_machine=i386-ibm 1017 + ;; 1018 + pw32) 1019 + basic_machine=i586-unknown 1020 + os=-pw32 1021 + ;; 1022 + rdos) 1023 + basic_machine=i386-pc 1024 + os=-rdos 1025 + ;; 1026 + rom68k) 1027 + basic_machine=m68k-rom68k 1028 + os=-coff 1029 + ;; 1030 + rm[46]00) 1031 + basic_machine=mips-siemens 1032 + ;; 1033 + rtpc | rtpc-*) 1034 + basic_machine=romp-ibm 1035 + ;; 1036 + s390 | s390-*) 1037 + basic_machine=s390-ibm 1038 + ;; 1039 + s390x | s390x-*) 1040 + basic_machine=s390x-ibm 1041 + ;; 1042 + sa29200) 1043 + basic_machine=a29k-amd 1044 + os=-udi 1045 + ;; 1046 + sb1) 1047 + basic_machine=mipsisa64sb1-unknown 1048 + ;; 1049 + sb1el) 1050 + basic_machine=mipsisa64sb1el-unknown 1051 + ;; 1052 + sde) 1053 + basic_machine=mipsisa32-sde 1054 + os=-elf 1055 + ;; 1056 + sei) 1057 + basic_machine=mips-sei 1058 + os=-seiux 1059 + ;; 1060 + sequent) 1061 + basic_machine=i386-sequent 1062 + ;; 1063 + sh) 1064 + basic_machine=sh-hitachi 1065 + os=-hms 1066 + ;; 1067 + sh5el) 1068 + basic_machine=sh5le-unknown 1069 + ;; 1070 + sh64) 1071 + basic_machine=sh64-unknown 1072 + ;; 1073 + sparclite-wrs | simso-wrs) 1074 + basic_machine=sparclite-wrs 1075 + os=-vxworks 1076 + ;; 1077 + sps7) 1078 + basic_machine=m68k-bull 1079 + os=-sysv2 1080 + ;; 1081 + spur) 1082 + basic_machine=spur-unknown 1083 + ;; 1084 + st2000) 1085 + basic_machine=m68k-tandem 1086 + ;; 1087 + stratus) 1088 + basic_machine=i860-stratus 1089 + os=-sysv4 1090 + ;; 1091 + strongarm-* | thumb-*) 1092 + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1093 + ;; 1094 + sun2) 1095 + basic_machine=m68000-sun 1096 + ;; 1097 + sun2os3) 1098 + basic_machine=m68000-sun 1099 + os=-sunos3 1100 + ;; 1101 + sun2os4) 1102 + basic_machine=m68000-sun 1103 + os=-sunos4 1104 + ;; 1105 + sun3os3) 1106 + basic_machine=m68k-sun 1107 + os=-sunos3 1108 + ;; 1109 + sun3os4) 1110 + basic_machine=m68k-sun 1111 + os=-sunos4 1112 + ;; 1113 + sun4os3) 1114 + basic_machine=sparc-sun 1115 + os=-sunos3 1116 + ;; 1117 + sun4os4) 1118 + basic_machine=sparc-sun 1119 + os=-sunos4 1120 + ;; 1121 + sun4sol2) 1122 + basic_machine=sparc-sun 1123 + os=-solaris2 1124 + ;; 1125 + sun3 | sun3-*) 1126 + basic_machine=m68k-sun 1127 + ;; 1128 + sun4) 1129 + basic_machine=sparc-sun 1130 + ;; 1131 + sun386 | sun386i | roadrunner) 1132 + basic_machine=i386-sun 1133 + ;; 1134 + sv1) 1135 + basic_machine=sv1-cray 1136 + os=-unicos 1137 + ;; 1138 + symmetry) 1139 + basic_machine=i386-sequent 1140 + os=-dynix 1141 + ;; 1142 + t3e) 1143 + basic_machine=alphaev5-cray 1144 + os=-unicos 1145 + ;; 1146 + t90) 1147 + basic_machine=t90-cray 1148 + os=-unicos 1149 + ;; 1150 + tile*) 1151 + basic_machine=$basic_machine-unknown 1152 + os=-linux-gnu 1153 + ;; 1154 + tx39) 1155 + basic_machine=mipstx39-unknown 1156 + ;; 1157 + tx39el) 1158 + basic_machine=mipstx39el-unknown 1159 + ;; 1160 + toad1) 1161 + basic_machine=pdp10-xkl 1162 + os=-tops20 1163 + ;; 1164 + tower | tower-32) 1165 + basic_machine=m68k-ncr 1166 + ;; 1167 + tpf) 1168 + basic_machine=s390x-ibm 1169 + os=-tpf 1170 + ;; 1171 + udi29k) 1172 + basic_machine=a29k-amd 1173 + os=-udi 1174 + ;; 1175 + ultra3) 1176 + basic_machine=a29k-nyu 1177 + os=-sym1 1178 + ;; 1179 + v810 | necv810) 1180 + basic_machine=v810-nec 1181 + os=-none 1182 + ;; 1183 + vaxv) 1184 + basic_machine=vax-dec 1185 + os=-sysv 1186 + ;; 1187 + vms) 1188 + basic_machine=vax-dec 1189 + os=-vms 1190 + ;; 1191 + vpp*|vx|vx-*) 1192 + basic_machine=f301-fujitsu 1193 + ;; 1194 + vxworks960) 1195 + basic_machine=i960-wrs 1196 + os=-vxworks 1197 + ;; 1198 + vxworks68) 1199 + basic_machine=m68k-wrs 1200 + os=-vxworks 1201 + ;; 1202 + vxworks29k) 1203 + basic_machine=a29k-wrs 1204 + os=-vxworks 1205 + ;; 1206 + w65*) 1207 + basic_machine=w65-wdc 1208 + os=-none 1209 + ;; 1210 + w89k-*) 1211 + basic_machine=hppa1.1-winbond 1212 + os=-proelf 1213 + ;; 1214 + xbox) 1215 + basic_machine=i686-pc 1216 + os=-mingw32 1217 + ;; 1218 + xps | xps100) 1219 + basic_machine=xps100-honeywell 1220 + ;; 1221 + xscale-* | xscalee[bl]-*) 1222 + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1223 + ;; 1224 + ymp) 1225 + basic_machine=ymp-cray 1226 + os=-unicos 1227 + ;; 1228 + z8k-*-coff) 1229 + basic_machine=z8k-unknown 1230 + os=-sim 1231 + ;; 1232 + z80-*-coff) 1233 + basic_machine=z80-unknown 1234 + os=-sim 1235 + ;; 1236 + none) 1237 + basic_machine=none-none 1238 + os=-none 1239 + ;; 1240 + 1241 +# Here we handle the default manufacturer of certain CPU types. It is in 1242 +# some cases the only manufacturer, in others, it is the most popular. 1243 + w89k) 1244 + basic_machine=hppa1.1-winbond 1245 + ;; 1246 + op50n) 1247 + basic_machine=hppa1.1-oki 1248 + ;; 1249 + op60c) 1250 + basic_machine=hppa1.1-oki 1251 + ;; 1252 + romp) 1253 + basic_machine=romp-ibm 1254 + ;; 1255 + mmix) 1256 + basic_machine=mmix-knuth 1257 + ;; 1258 + rs6000) 1259 + basic_machine=rs6000-ibm 1260 + ;; 1261 + vax) 1262 + basic_machine=vax-dec 1263 + ;; 1264 + pdp10) 1265 + # there are many clones, so DEC is not a safe bet 1266 + basic_machine=pdp10-unknown 1267 + ;; 1268 + pdp11) 1269 + basic_machine=pdp11-dec 1270 + ;; 1271 + we32k) 1272 + basic_machine=we32k-att 1273 + ;; 1274 + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1275 + basic_machine=sh-unknown 1276 + ;; 1277 + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1278 + basic_machine=sparc-sun 1279 + ;; 1280 + cydra) 1281 + basic_machine=cydra-cydrome 1282 + ;; 1283 + orion) 1284 + basic_machine=orion-highlevel 1285 + ;; 1286 + orion105) 1287 + basic_machine=clipper-highlevel 1288 + ;; 1289 + mac | mpw | mac-mpw) 1290 + basic_machine=m68k-apple 1291 + ;; 1292 + pmac | pmac-mpw) 1293 + basic_machine=powerpc-apple 1294 + ;; 1295 + *-unknown) 1296 + # Make sure to match an already-canonicalized machine name. 1297 + ;; 1298 + *) 1299 + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1300 + exit 1 1301 + ;; 1302 +esac 1303 + 1304 +# Here we canonicalize certain aliases for manufacturers. 1305 +case $basic_machine in 1306 + *-digital*) 1307 + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1308 + ;; 1309 + *-commodore*) 1310 + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1311 + ;; 1312 + *) 1313 + ;; 1314 +esac 1315 + 1316 +# Decode manufacturer-specific aliases for certain operating systems. 1317 + 1318 +if [ x"$os" != x"" ] 1319 +then 1320 +case $os in 1321 + # First match some system type aliases 1322 + # that might get confused with valid system types. 1323 + # -solaris* is a basic system type, with this one exception. 1324 + -auroraux) 1325 + os=-auroraux 1326 + ;; 1327 + -solaris1 | -solaris1.*) 1328 + os=`echo $os | sed -e 's|solaris1|sunos4|'` 1329 + ;; 1330 + -solaris) 1331 + os=-solaris2 1332 + ;; 1333 + -svr4*) 1334 + os=-sysv4 1335 + ;; 1336 + -unixware*) 1337 + os=-sysv4.2uw 1338 + ;; 1339 + -gnu/linux*) 1340 + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1341 + ;; 1342 + # First accept the basic system types. 1343 + # The portable systems comes first. 1344 + # Each alternative MUST END IN A *, to match a version number. 1345 + # -sysv* is not here because it comes later, after sysvr4. 1346 + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1347 + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1348 + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1349 + | -sym* | -kopensolaris* \ 1350 + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1351 + | -aos* | -aros* \ 1352 + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1353 + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1354 + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1355 + | -openbsd* | -solidbsd* \ 1356 + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1357 + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1358 + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1359 + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1360 + | -chorusos* | -chorusrdb* | -cegcc* \ 1361 + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1362 + | -mingw32* | -linux-gnu* | -linux-android* \ 1363 + | -linux-newlib* | -linux-uclibc* \ 1364 + | -uxpv* | -beos* | -mpeix* | -udk* \ 1365 + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1366 + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1367 + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1368 + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1369 + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1370 + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1371 + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1372 + # Remember, each alternative MUST END IN *, to match a version number. 1373 + ;; 1374 + -qnx*) 1375 + case $basic_machine in 1376 + x86-* | i*86-*) 1377 + ;; 1378 + *) 1379 + os=-nto$os 1380 + ;; 1381 + esac 1382 + ;; 1383 + -nto-qnx*) 1384 + ;; 1385 + -nto*) 1386 + os=`echo $os | sed -e 's|nto|nto-qnx|'` 1387 + ;; 1388 + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1389 + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1390 + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1391 + ;; 1392 + -mac*) 1393 + os=`echo $os | sed -e 's|mac|macos|'` 1394 + ;; 1395 + -linux-dietlibc) 1396 + os=-linux-dietlibc 1397 + ;; 1398 + -linux*) 1399 + os=`echo $os | sed -e 's|linux|linux-gnu|'` 1400 + ;; 1401 + -sunos5*) 1402 + os=`echo $os | sed -e 's|sunos5|solaris2|'` 1403 + ;; 1404 + -sunos6*) 1405 + os=`echo $os | sed -e 's|sunos6|solaris3|'` 1406 + ;; 1407 + -opened*) 1408 + os=-openedition 1409 + ;; 1410 + -os400*) 1411 + os=-os400 1412 + ;; 1413 + -wince*) 1414 + os=-wince 1415 + ;; 1416 + -osfrose*) 1417 + os=-osfrose 1418 + ;; 1419 + -osf*) 1420 + os=-osf 1421 + ;; 1422 + -utek*) 1423 + os=-bsd 1424 + ;; 1425 + -dynix*) 1426 + os=-bsd 1427 + ;; 1428 + -acis*) 1429 + os=-aos 1430 + ;; 1431 + -atheos*) 1432 + os=-atheos 1433 + ;; 1434 + -syllable*) 1435 + os=-syllable 1436 + ;; 1437 + -386bsd) 1438 + os=-bsd 1439 + ;; 1440 + -ctix* | -uts*) 1441 + os=-sysv 1442 + ;; 1443 + -nova*) 1444 + os=-rtmk-nova 1445 + ;; 1446 + -ns2 ) 1447 + os=-nextstep2 1448 + ;; 1449 + -nsk*) 1450 + os=-nsk 1451 + ;; 1452 + # Preserve the version number of sinix5. 1453 + -sinix5.*) 1454 + os=`echo $os | sed -e 's|sinix|sysv|'` 1455 + ;; 1456 + -sinix*) 1457 + os=-sysv4 1458 + ;; 1459 + -tpf*) 1460 + os=-tpf 1461 + ;; 1462 + -triton*) 1463 + os=-sysv3 1464 + ;; 1465 + -oss*) 1466 + os=-sysv3 1467 + ;; 1468 + -svr4) 1469 + os=-sysv4 1470 + ;; 1471 + -svr3) 1472 + os=-sysv3 1473 + ;; 1474 + -sysvr4) 1475 + os=-sysv4 1476 + ;; 1477 + # This must come after -sysvr4. 1478 + -sysv*) 1479 + ;; 1480 + -ose*) 1481 + os=-ose 1482 + ;; 1483 + -es1800*) 1484 + os=-ose 1485 + ;; 1486 + -xenix) 1487 + os=-xenix 1488 + ;; 1489 + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1490 + os=-mint 1491 + ;; 1492 + -aros*) 1493 + os=-aros 1494 + ;; 1495 + -kaos*) 1496 + os=-kaos 1497 + ;; 1498 + -zvmoe) 1499 + os=-zvmoe 1500 + ;; 1501 + -dicos*) 1502 + os=-dicos 1503 + ;; 1504 + -nacl*) 1505 + ;; 1506 + -none) 1507 + ;; 1508 + *) 1509 + # Get rid of the `-' at the beginning of $os. 1510 + os=`echo $os | sed 's/[^-]*-//'` 1511 + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1512 + exit 1 1513 + ;; 1514 +esac 1515 +else 1516 + 1517 +# Here we handle the default operating systems that come with various machines. 1518 +# The value should be what the vendor currently ships out the door with their 1519 +# machine or put another way, the most popular os provided with the machine. 1520 + 1521 +# Note that if you're going to try to match "-MANUFACTURER" here (say, 1522 +# "-sun"), then you have to tell the case statement up towards the top 1523 +# that MANUFACTURER isn't an operating system. Otherwise, code above 1524 +# will signal an error saying that MANUFACTURER isn't an operating 1525 +# system, and we'll never get to this point. 1526 + 1527 +case $basic_machine in 1528 + score-*) 1529 + os=-elf 1530 + ;; 1531 + spu-*) 1532 + os=-elf 1533 + ;; 1534 + *-acorn) 1535 + os=-riscix1.2 1536 + ;; 1537 + arm*-rebel) 1538 + os=-linux 1539 + ;; 1540 + arm*-semi) 1541 + os=-aout 1542 + ;; 1543 + c4x-* | tic4x-*) 1544 + os=-coff 1545 + ;; 1546 + hexagon-*) 1547 + os=-elf 1548 + ;; 1549 + tic54x-*) 1550 + os=-coff 1551 + ;; 1552 + tic55x-*) 1553 + os=-coff 1554 + ;; 1555 + tic6x-*) 1556 + os=-coff 1557 + ;; 1558 + # This must come before the *-dec entry. 1559 + pdp10-*) 1560 + os=-tops20 1561 + ;; 1562 + pdp11-*) 1563 + os=-none 1564 + ;; 1565 + *-dec | vax-*) 1566 + os=-ultrix4.2 1567 + ;; 1568 + m68*-apollo) 1569 + os=-domain 1570 + ;; 1571 + i386-sun) 1572 + os=-sunos4.0.2 1573 + ;; 1574 + m68000-sun) 1575 + os=-sunos3 1576 + ;; 1577 + m68*-cisco) 1578 + os=-aout 1579 + ;; 1580 + mep-*) 1581 + os=-elf 1582 + ;; 1583 + mips*-cisco) 1584 + os=-elf 1585 + ;; 1586 + mips*-*) 1587 + os=-elf 1588 + ;; 1589 + or32-*) 1590 + os=-coff 1591 + ;; 1592 + *-tti) # must be before sparc entry or we get the wrong os. 1593 + os=-sysv3 1594 + ;; 1595 + sparc-* | *-sun) 1596 + os=-sunos4.1.1 1597 + ;; 1598 + *-be) 1599 + os=-beos 1600 + ;; 1601 + *-haiku) 1602 + os=-haiku 1603 + ;; 1604 + *-ibm) 1605 + os=-aix 1606 + ;; 1607 + *-knuth) 1608 + os=-mmixware 1609 + ;; 1610 + *-wec) 1611 + os=-proelf 1612 + ;; 1613 + *-winbond) 1614 + os=-proelf 1615 + ;; 1616 + *-oki) 1617 + os=-proelf 1618 + ;; 1619 + *-hp) 1620 + os=-hpux 1621 + ;; 1622 + *-hitachi) 1623 + os=-hiux 1624 + ;; 1625 + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1626 + os=-sysv 1627 + ;; 1628 + *-cbm) 1629 + os=-amigaos 1630 + ;; 1631 + *-dg) 1632 + os=-dgux 1633 + ;; 1634 + *-dolphin) 1635 + os=-sysv3 1636 + ;; 1637 + m68k-ccur) 1638 + os=-rtu 1639 + ;; 1640 + m88k-omron*) 1641 + os=-luna 1642 + ;; 1643 + *-next ) 1644 + os=-nextstep 1645 + ;; 1646 + *-sequent) 1647 + os=-ptx 1648 + ;; 1649 + *-crds) 1650 + os=-unos 1651 + ;; 1652 + *-ns) 1653 + os=-genix 1654 + ;; 1655 + i370-*) 1656 + os=-mvs 1657 + ;; 1658 + *-next) 1659 + os=-nextstep3 1660 + ;; 1661 + *-gould) 1662 + os=-sysv 1663 + ;; 1664 + *-highlevel) 1665 + os=-bsd 1666 + ;; 1667 + *-encore) 1668 + os=-bsd 1669 + ;; 1670 + *-sgi) 1671 + os=-irix 1672 + ;; 1673 + *-siemens) 1674 + os=-sysv4 1675 + ;; 1676 + *-masscomp) 1677 + os=-rtu 1678 + ;; 1679 + f30[01]-fujitsu | f700-fujitsu) 1680 + os=-uxpv 1681 + ;; 1682 + *-rom68k) 1683 + os=-coff 1684 + ;; 1685 + *-*bug) 1686 + os=-coff 1687 + ;; 1688 + *-apple) 1689 + os=-macos 1690 + ;; 1691 + *-atari*) 1692 + os=-mint 1693 + ;; 1694 + *) 1695 + os=-none 1696 + ;; 1697 +esac 1698 +fi 1699 + 1700 +# Here we handle the case where we know the os, and the CPU type, but not the 1701 +# manufacturer. We pick the logical manufacturer. 1702 +vendor=unknown 1703 +case $basic_machine in 1704 + *-unknown) 1705 + case $os in 1706 + -riscix*) 1707 + vendor=acorn 1708 + ;; 1709 + -sunos*) 1710 + vendor=sun 1711 + ;; 1712 + -cnk*|-aix*) 1713 + vendor=ibm 1714 + ;; 1715 + -beos*) 1716 + vendor=be 1717 + ;; 1718 + -hpux*) 1719 + vendor=hp 1720 + ;; 1721 + -mpeix*) 1722 + vendor=hp 1723 + ;; 1724 + -hiux*) 1725 + vendor=hitachi 1726 + ;; 1727 + -unos*) 1728 + vendor=crds 1729 + ;; 1730 + -dgux*) 1731 + vendor=dg 1732 + ;; 1733 + -luna*) 1734 + vendor=omron 1735 + ;; 1736 + -genix*) 1737 + vendor=ns 1738 + ;; 1739 + -mvs* | -opened*) 1740 + vendor=ibm 1741 + ;; 1742 + -os400*) 1743 + vendor=ibm 1744 + ;; 1745 + -ptx*) 1746 + vendor=sequent 1747 + ;; 1748 + -tpf*) 1749 + vendor=ibm 1750 + ;; 1751 + -vxsim* | -vxworks* | -windiss*) 1752 + vendor=wrs 1753 + ;; 1754 + -aux*) 1755 + vendor=apple 1756 + ;; 1757 + -hms*) 1758 + vendor=hitachi 1759 + ;; 1760 + -mpw* | -macos*) 1761 + vendor=apple 1762 + ;; 1763 + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1764 + vendor=atari 1765 + ;; 1766 + -vos*) 1767 + vendor=stratus 1768 + ;; 1769 + esac 1770 + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1771 + ;; 1772 +esac 1773 + 1774 +echo $basic_machine$os 1775 +exit 1776 + 1777 +# Local variables: 1778 +# eval: (add-hook 'write-file-hooks 'time-stamp) 1779 +# time-stamp-start: "timestamp='" 1780 +# time-stamp-format: "%:y-%02m-%02d" 1781 +# time-stamp-end: "'" 1782 +# 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(virtualpg, 1.0.2, a.furieri@lqt.it) 6 +AC_LANG(C) 7 +AC_CONFIG_MACRO_DIR([m4]) 8 + 9 +AM_INIT_AUTOMAKE([foreign]) 10 +AM_MAINTAINER_MODE 11 + 12 +# disablibg debug support 13 +AH_TEMPLATE([NDEBUG], 14 + [Must be defined in order to disable debug mode.]) 15 +AC_DEFINE(NDEBUG) 16 + 17 +# Checks for header files. 18 +AC_CHECK_HEADERS(stdlib.h,, [AC_MSG_ERROR([cannot find stdlib.h, bailing out])]) 19 +AC_CHECK_HEADERS(stdio.h,, [AC_MSG_ERROR([cannot find stdio.h, bailing out])]) 20 +AC_CHECK_HEADERS(string.h,, [AC_MSG_ERROR([cannot find string.h, bailing out])]) 21 +AC_CHECK_HEADERS(sqlite3ext.h,, [AC_MSG_ERROR([cannot find sqlite3ext.h, bailing out])]) 22 + 23 +# Checks for programs. 24 +AC_PROG_CXX 25 +AC_PROG_CC 26 +AC_PROG_CPP 27 +AC_PROG_INSTALL 28 +AC_PROG_LN_S 29 +AC_PROG_MAKE_SET 30 +AC_LIBTOOL_WIN32_DLL 31 +AC_PROG_LIBTOOL 32 + 33 +# Checks for typedefs, structures, and compiler characteristics. 34 +AC_C_CONST 35 +AC_TYPE_OFF_T 36 +AC_TYPE_SIZE_T 37 +AC_HEADER_TIME 38 +AC_STRUCT_TM 39 +AC_C_VOLATILE 40 + 41 +# Checks for library functions. 42 +AC_FUNC_LSTAT 43 +AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK 44 +AC_FUNC_MEMCMP 45 +AC_FUNC_STAT 46 +AC_FUNC_STRFTIME 47 + 48 +#----------------------------------------------------------------------- 49 +# --with-pgconfig 50 +# 51 +AC_ARG_WITH([pgconfig], 52 + [AS_HELP_STRING([--with-pgconfig=FILE], [specify an alternative pg_config file])], 53 + [PGCONFIG="$withval"], [PGCONFIG=""]) 54 +if test "x$PGCONFIG" = "x"; then 55 + # PGCONFIG was not specified, so search within the current path 56 + AC_PATH_PROG([PGCONFIG], [pg_config]) 57 + # If we couldn't find pg_config, display an error 58 + if test "x$PGCONFIG" = "x"; then 59 + AC_MSG_ERROR([could not find pg_config within the current path. You may need to try re-running configure with a --with-pgconfig parameter.]) 60 + fi 61 +else 62 + # PGCONFIG was specified; display a message to the user 63 + if test "x$PGSCONFIG" = "xyes"; then 64 + AC_MSG_ERROR([you must specify a parameter to --with-pgconfig, e.g. --with-pgconfig=/path/to/pg_config]) 65 + else 66 + if test -f $PGCONFIG; then 67 + AC_MSG_RESULT([Using user-specified pg_config file: $PGCONFIG]) 68 + else 69 + AC_MSG_ERROR([the user-specified pg_config file $PGCONFIG does not exist]) 70 + fi 71 + fi 72 +fi 73 + 74 +PG_CFLAGS=-I`$PGCONFIG --includedir` 75 +PG_LDFLAGS=-L`$PGCONFIG --libdir` 76 +AC_SUBST(PG_CFLAGS) 77 +AC_SUBST(PG_LDFLAGS) 78 + 79 +# Checks for installed libraries 80 +AC_CHECK_LIB(sqlite3,sqlite3_create_module,,AC_MSG_ERROR(['libsqlite3' is required but it doesn't seem to be installed on this system.]),-lm) 81 + 82 +# Ensure that we can parse libpq-fe.h 83 +CFLAGS_SAVE="$CFLAGS" 84 +CFLAGS="$PG_CFLAGS" 85 +AC_CHECK_HEADERS(libpq-fe.h,, [AC_MSG_ERROR([cannot find libpq-fe.h, bailing out])]) 86 +CFLAGS="$CFLAGS_SAVE" 87 +# Ensure we can link against libpq 88 +LDFLAGS_SAVE="$LDFLAGS" 89 +LDFLAGS="$PG_LDFLAGS" 90 +AC_SEARCH_LIBS(PQconnectdb,pq,,AC_MSG_ERROR(['libpq' is required but it doesn't seem to be installed on this system.])) 91 +LDFLAGS="$LDFLAGS_SAVE" 92 +LIBS=$LIBS$PG_LDFLAGS' -lpq' 93 + 94 +AC_CONFIG_FILES([Makefile]) 95 + 96 +AC_OUTPUT
Added depcomp.
1 +#! /bin/sh 2 +# depcomp - compile a program generating dependencies as side-effects 3 + 4 +scriptversion=2012-03-27.16; # UTC 5 + 6 +# Copyright (C) 1999-2012 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 +# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. 27 + 28 +case $1 in 29 + '') 30 + echo "$0: No command. Try '$0 --help' for more information." 1>&2 31 + exit 1; 32 + ;; 33 + -h | --h*) 34 + cat <<\EOF 35 +Usage: depcomp [--help] [--version] PROGRAM [ARGS] 36 + 37 +Run PROGRAMS ARGS to compile a file, generating dependencies 38 +as side-effects. 39 + 40 +Environment variables: 41 + depmode Dependency tracking mode. 42 + source Source file read by 'PROGRAMS ARGS'. 43 + object Object file output by 'PROGRAMS ARGS'. 44 + DEPDIR directory where to store dependencies. 45 + depfile Dependency file to output. 46 + tmpdepfile Temporary file to use when outputting dependencies. 47 + libtool Whether libtool is used (yes/no). 48 + 49 +Report bugs to <bug-automake@gnu.org>. 50 +EOF 51 + exit $? 52 + ;; 53 + -v | --v*) 54 + echo "depcomp $scriptversion" 55 + exit $? 56 + ;; 57 +esac 58 + 59 +# A tabulation character. 60 +tab=' ' 61 +# A newline character. 62 +nl=' 63 +' 64 + 65 +if test -z "$depmode" || test -z "$source" || test -z "$object"; then 66 + echo "depcomp: Variables source, object and depmode must be set" 1>&2 67 + exit 1 68 +fi 69 + 70 +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. 71 +depfile=${depfile-`echo "$object" | 72 + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} 73 +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} 74 + 75 +rm -f "$tmpdepfile" 76 + 77 +# Some modes work just like other modes, but use different flags. We 78 +# parameterize here, but still list the modes in the big case below, 79 +# to make depend.m4 easier to write. Note that we *cannot* use a case 80 +# here, because this file can only contain one case statement. 81 +if test "$depmode" = hp; then 82 + # HP compiler uses -M and no extra arg. 83 + gccflag=-M 84 + depmode=gcc 85 +fi 86 + 87 +if test "$depmode" = dashXmstdout; then 88 + # This is just like dashmstdout with a different argument. 89 + dashmflag=-xM 90 + depmode=dashmstdout 91 +fi 92 + 93 +cygpath_u="cygpath -u -f -" 94 +if test "$depmode" = msvcmsys; then 95 + # This is just like msvisualcpp but w/o cygpath translation. 96 + # Just convert the backslash-escaped backslashes to single forward 97 + # slashes to satisfy depend.m4 98 + cygpath_u='sed s,\\\\,/,g' 99 + depmode=msvisualcpp 100 +fi 101 + 102 +if test "$depmode" = msvc7msys; then 103 + # This is just like msvc7 but w/o cygpath translation. 104 + # Just convert the backslash-escaped backslashes to single forward 105 + # slashes to satisfy depend.m4 106 + cygpath_u='sed s,\\\\,/,g' 107 + depmode=msvc7 108 +fi 109 + 110 +if test "$depmode" = xlc; then 111 + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. 112 + gccflag=-qmakedep=gcc,-MF 113 + depmode=gcc 114 +fi 115 + 116 +case "$depmode" in 117 +gcc3) 118 +## gcc 3 implements dependency tracking that does exactly what 119 +## we want. Yay! Note: for some reason libtool 1.4 doesn't like 120 +## it if -MD -MP comes after the -MF stuff. Hmm. 121 +## Unfortunately, FreeBSD c89 acceptance of flags depends upon 122 +## the command line argument order; so add the flags where they 123 +## appear in depend2.am. Note that the slowdown incurred here 124 +## affects only configure: in makefiles, %FASTDEP% shortcuts this. 125 + for arg 126 + do 127 + case $arg in 128 + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; 129 + *) set fnord "$@" "$arg" ;; 130 + esac 131 + shift # fnord 132 + shift # $arg 133 + done 134 + "$@" 135 + stat=$? 136 + if test $stat -eq 0; then : 137 + else 138 + rm -f "$tmpdepfile" 139 + exit $stat 140 + fi 141 + mv "$tmpdepfile" "$depfile" 142 + ;; 143 + 144 +gcc) 145 +## There are various ways to get dependency output from gcc. Here's 146 +## why we pick this rather obscure method: 147 +## - Don't want to use -MD because we'd like the dependencies to end 148 +## up in a subdir. Having to rename by hand is ugly. 149 +## (We might end up doing this anyway to support other compilers.) 150 +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like 151 +## -MM, not -M (despite what the docs say). 152 +## - Using -M directly means running the compiler twice (even worse 153 +## than renaming). 154 + if test -z "$gccflag"; then 155 + gccflag=-MD, 156 + fi 157 + "$@" -Wp,"$gccflag$tmpdepfile" 158 + stat=$? 159 + if test $stat -eq 0; then : 160 + else 161 + rm -f "$tmpdepfile" 162 + exit $stat 163 + fi 164 + rm -f "$depfile" 165 + echo "$object : \\" > "$depfile" 166 + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 167 +## The second -e expression handles DOS-style file names with drive letters. 168 + sed -e 's/^[^:]*: / /' \ 169 + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" 170 +## This next piece of magic avoids the "deleted header file" problem. 171 +## The problem is that when a header file which appears in a .P file 172 +## is deleted, the dependency causes make to die (because there is 173 +## typically no way to rebuild the header). We avoid this by adding 174 +## dummy dependencies for each header file. Too bad gcc doesn't do 175 +## this for us directly. 176 + tr ' ' "$nl" < "$tmpdepfile" | 177 +## Some versions of gcc put a space before the ':'. On the theory 178 +## that the space means something, we add a space to the output as 179 +## well. hp depmode also adds that space, but also prefixes the VPATH 180 +## to the object. Take care to not repeat it in the output. 181 +## Some versions of the HPUX 10.20 sed can't process this invocation 182 +## correctly. Breaking it into two sed invocations is a workaround. 183 + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ 184 + | sed -e 's/$/ :/' >> "$depfile" 185 + rm -f "$tmpdepfile" 186 + ;; 187 + 188 +hp) 189 + # This case exists only to let depend.m4 do its work. It works by 190 + # looking at the text of this script. This case will never be run, 191 + # since it is checked for above. 192 + exit 1 193 + ;; 194 + 195 +sgi) 196 + if test "$libtool" = yes; then 197 + "$@" "-Wp,-MDupdate,$tmpdepfile" 198 + else 199 + "$@" -MDupdate "$tmpdepfile" 200 + fi 201 + stat=$? 202 + if test $stat -eq 0; then : 203 + else 204 + rm -f "$tmpdepfile" 205 + exit $stat 206 + fi 207 + rm -f "$depfile" 208 + 209 + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files 210 + echo "$object : \\" > "$depfile" 211 + 212 + # Clip off the initial element (the dependent). Don't try to be 213 + # clever and replace this with sed code, as IRIX sed won't handle 214 + # lines with more than a fixed number of characters (4096 in 215 + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; 216 + # the IRIX cc adds comments like '#:fec' to the end of the 217 + # dependency line. 218 + tr ' ' "$nl" < "$tmpdepfile" \ 219 + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ 220 + tr "$nl" ' ' >> "$depfile" 221 + echo >> "$depfile" 222 + 223 + # The second pass generates a dummy entry for each header file. 224 + tr ' ' "$nl" < "$tmpdepfile" \ 225 + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ 226 + >> "$depfile" 227 + else 228 + # The sourcefile does not contain any dependencies, so just 229 + # store a dummy comment line, to avoid errors with the Makefile 230 + # "include basename.Plo" scheme. 231 + echo "#dummy" > "$depfile" 232 + fi 233 + rm -f "$tmpdepfile" 234 + ;; 235 + 236 +xlc) 237 + # This case exists only to let depend.m4 do its work. It works by 238 + # looking at the text of this script. This case will never be run, 239 + # since it is checked for above. 240 + exit 1 241 + ;; 242 + 243 +aix) 244 + # The C for AIX Compiler uses -M and outputs the dependencies 245 + # in a .u file. In older versions, this file always lives in the 246 + # current directory. Also, the AIX compiler puts '$object:' at the 247 + # start of each line; $object doesn't have directory information. 248 + # Version 6 uses the directory in both cases. 249 + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 250 + test "x$dir" = "x$object" && dir= 251 + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 252 + if test "$libtool" = yes; then 253 + tmpdepfile1=$dir$base.u 254 + tmpdepfile2=$base.u 255 + tmpdepfile3=$dir.libs/$base.u 256 + "$@" -Wc,-M 257 + else 258 + tmpdepfile1=$dir$base.u 259 + tmpdepfile2=$dir$base.u 260 + tmpdepfile3=$dir$base.u 261 + "$@" -M 262 + fi 263 + stat=$? 264 + 265 + if test $stat -eq 0; then : 266 + else 267 + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 268 + exit $stat 269 + fi 270 + 271 + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 272 + do 273 + test -f "$tmpdepfile" && break 274 + done 275 + if test -f "$tmpdepfile"; then 276 + # Each line is of the form 'foo.o: dependent.h'. 277 + # Do two passes, one to just change these to 278 + # '$object: dependent.h' and one to simply 'dependent.h:'. 279 + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" 280 + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" 281 + else 282 + # The sourcefile does not contain any dependencies, so just 283 + # store a dummy comment line, to avoid errors with the Makefile 284 + # "include basename.Plo" scheme. 285 + echo "#dummy" > "$depfile" 286 + fi 287 + rm -f "$tmpdepfile" 288 + ;; 289 + 290 +icc) 291 + # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. 292 + # However on 293 + # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c 294 + # ICC 7.0 will fill foo.d with something like 295 + # foo.o: sub/foo.c 296 + # foo.o: sub/foo.h 297 + # which is wrong. We want 298 + # sub/foo.o: sub/foo.c 299 + # sub/foo.o: sub/foo.h 300 + # sub/foo.c: 301 + # sub/foo.h: 302 + # ICC 7.1 will output 303 + # foo.o: sub/foo.c sub/foo.h 304 + # and will wrap long lines using '\': 305 + # foo.o: sub/foo.c ... \ 306 + # sub/foo.h ... \ 307 + # ... 308 + # tcc 0.9.26 (FIXME still under development at the moment of writing) 309 + # will emit a similar output, but also prepend the continuation lines 310 + # with horizontal tabulation characters. 311 + "$@" -MD -MF "$tmpdepfile" 312 + stat=$? 313 + if test $stat -eq 0; then : 314 + else 315 + rm -f "$tmpdepfile" 316 + exit $stat 317 + fi 318 + rm -f "$depfile" 319 + # Each line is of the form 'foo.o: dependent.h', 320 + # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. 321 + # Do two passes, one to just change these to 322 + # '$object: dependent.h' and one to simply 'dependent.h:'. 323 + sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ 324 + < "$tmpdepfile" > "$depfile" 325 + sed ' 326 + s/[ '"$tab"'][ '"$tab"']*/ /g 327 + s/^ *// 328 + s/ *\\*$// 329 + s/^[^:]*: *// 330 + /^$/d 331 + /:$/d 332 + s/$/ :/ 333 + ' < "$tmpdepfile" >> "$depfile" 334 + rm -f "$tmpdepfile" 335 + ;; 336 + 337 +hp2) 338 + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 339 + # compilers, which have integrated preprocessors. The correct option 340 + # to use with these is +Maked; it writes dependencies to a file named 341 + # 'foo.d', which lands next to the object file, wherever that 342 + # happens to be. 343 + # Much of this is similar to the tru64 case; see comments there. 344 + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 345 + test "x$dir" = "x$object" && dir= 346 + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 347 + if test "$libtool" = yes; then 348 + tmpdepfile1=$dir$base.d 349 + tmpdepfile2=$dir.libs/$base.d 350 + "$@" -Wc,+Maked 351 + else 352 + tmpdepfile1=$dir$base.d 353 + tmpdepfile2=$dir$base.d 354 + "$@" +Maked 355 + fi 356 + stat=$? 357 + if test $stat -eq 0; then : 358 + else 359 + rm -f "$tmpdepfile1" "$tmpdepfile2" 360 + exit $stat 361 + fi 362 + 363 + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" 364 + do 365 + test -f "$tmpdepfile" && break 366 + done 367 + if test -f "$tmpdepfile"; then 368 + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" 369 + # Add 'dependent.h:' lines. 370 + sed -ne '2,${ 371 + s/^ *// 372 + s/ \\*$// 373 + s/$/:/ 374 + p 375 + }' "$tmpdepfile" >> "$depfile" 376 + else 377 + echo "#dummy" > "$depfile" 378 + fi 379 + rm -f "$tmpdepfile" "$tmpdepfile2" 380 + ;; 381 + 382 +tru64) 383 + # The Tru64 compiler uses -MD to generate dependencies as a side 384 + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. 385 + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put 386 + # dependencies in 'foo.d' instead, so we check for that too. 387 + # Subdirectories are respected. 388 + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` 389 + test "x$dir" = "x$object" && dir= 390 + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` 391 + 392 + if test "$libtool" = yes; then 393 + # With Tru64 cc, shared objects can also be used to make a 394 + # static library. This mechanism is used in libtool 1.4 series to 395 + # handle both shared and static libraries in a single compilation. 396 + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. 397 + # 398 + # With libtool 1.5 this exception was removed, and libtool now 399 + # generates 2 separate objects for the 2 libraries. These two 400 + # compilations output dependencies in $dir.libs/$base.o.d and 401 + # in $dir$base.o.d. We have to check for both files, because 402 + # one of the two compilations can be disabled. We should prefer 403 + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is 404 + # automatically cleaned when .libs/ is deleted, while ignoring 405 + # the former would cause a distcleancheck panic. 406 + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 407 + tmpdepfile2=$dir$base.o.d # libtool 1.5 408 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 409 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 410 + "$@" -Wc,-MD 411 + else 412 + tmpdepfile1=$dir$base.o.d 413 + tmpdepfile2=$dir$base.d 414 + tmpdepfile3=$dir$base.d 415 + tmpdepfile4=$dir$base.d 416 + "$@" -MD 417 + fi 418 + 419 + stat=$? 420 + if test $stat -eq 0; then : 421 + else 422 + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 423 + exit $stat 424 + fi 425 + 426 + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 427 + do 428 + test -f "$tmpdepfile" && break 429 + done 430 + if test -f "$tmpdepfile"; then 431 + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" 432 + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" 433 + else 434 + echo "#dummy" > "$depfile" 435 + fi 436 + rm -f "$tmpdepfile" 437 + ;; 438 + 439 +msvc7) 440 + if test "$libtool" = yes; then 441 + showIncludes=-Wc,-showIncludes 442 + else 443 + showIncludes=-showIncludes 444 + fi 445 + "$@" $showIncludes > "$tmpdepfile" 446 + stat=$? 447 + grep -v '^Note: including file: ' "$tmpdepfile" 448 + if test "$stat" = 0; then : 449 + else 450 + rm -f "$tmpdepfile" 451 + exit $stat 452 + fi 453 + rm -f "$depfile" 454 + echo "$object : \\" > "$depfile" 455 + # The first sed program below extracts the file names and escapes 456 + # backslashes for cygpath. The second sed program outputs the file 457 + # name when reading, but also accumulates all include files in the 458 + # hold buffer in order to output them again at the end. This only 459 + # works with sed implementations that can handle large buffers. 460 + sed < "$tmpdepfile" -n ' 461 +/^Note: including file: *\(.*\)/ { 462 + s//\1/ 463 + s/\\/\\\\/g 464 + p 465 +}' | $cygpath_u | sort -u | sed -n ' 466 +s/ /\\ /g 467 +s/\(.*\)/'"$tab"'\1 \\/p 468 +s/.\(.*\) \\/\1:/ 469 +H 470 +$ { 471 + s/.*/'"$tab"'/ 472 + G 473 + p 474 +}' >> "$depfile" 475 + rm -f "$tmpdepfile" 476 + ;; 477 + 478 +msvc7msys) 479 + # This case exists only to let depend.m4 do its work. It works by 480 + # looking at the text of this script. This case will never be run, 481 + # since it is checked for above. 482 + exit 1 483 + ;; 484 + 485 +#nosideeffect) 486 + # This comment above is used by automake to tell side-effect 487 + # dependency tracking mechanisms from slower ones. 488 + 489 +dashmstdout) 490 + # Important note: in order to support this mode, a compiler *must* 491 + # always write the preprocessed file to stdout, regardless of -o. 492 + "$@" || exit $? 493 + 494 + # Remove the call to Libtool. 495 + if test "$libtool" = yes; then 496 + while test "X$1" != 'X--mode=compile'; do 497 + shift 498 + done 499 + shift 500 + fi 501 + 502 + # Remove '-o $object'. 503 + IFS=" " 504 + for arg 505 + do 506 + case $arg in 507 + -o) 508 + shift 509 + ;; 510 + $object) 511 + shift 512 + ;; 513 + *) 514 + set fnord "$@" "$arg" 515 + shift # fnord 516 + shift # $arg 517 + ;; 518 + esac 519 + done 520 + 521 + test -z "$dashmflag" && dashmflag=-M 522 + # Require at least two characters before searching for ':' 523 + # in the target name. This is to cope with DOS-style filenames: 524 + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. 525 + "$@" $dashmflag | 526 + sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" 527 + rm -f "$depfile" 528 + cat < "$tmpdepfile" > "$depfile" 529 + tr ' ' "$nl" < "$tmpdepfile" | \ 530 +## Some versions of the HPUX 10.20 sed can't process this invocation 531 +## correctly. Breaking it into two sed invocations is a workaround. 532 + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" 533 + rm -f "$tmpdepfile" 534 + ;; 535 + 536 +dashXmstdout) 537 + # This case only exists to satisfy depend.m4. It is never actually 538 + # run, as this mode is specially recognized in the preamble. 539 + exit 1 540 + ;; 541 + 542 +makedepend) 543 + "$@" || exit $? 544 + # Remove any Libtool call 545 + if test "$libtool" = yes; then 546 + while test "X$1" != 'X--mode=compile'; do 547 + shift 548 + done 549 + shift 550 + fi 551 + # X makedepend 552 + shift 553 + cleared=no eat=no 554 + for arg 555 + do 556 + case $cleared in 557 + no) 558 + set ""; shift 559 + cleared=yes ;; 560 + esac 561 + if test $eat = yes; then 562 + eat=no 563 + continue 564 + fi 565 + case "$arg" in 566 + -D*|-I*) 567 + set fnord "$@" "$arg"; shift ;; 568 + # Strip any option that makedepend may not understand. Remove 569 + # the object too, otherwise makedepend will parse it as a source file. 570 + -arch) 571 + eat=yes ;; 572 + -*|$object) 573 + ;; 574 + *) 575 + set fnord "$@" "$arg"; shift ;; 576 + esac 577 + done 578 + obj_suffix=`echo "$object" | sed 's/^.*\././'` 579 + touch "$tmpdepfile" 580 + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" 581 + rm -f "$depfile" 582 + # makedepend may prepend the VPATH from the source file name to the object. 583 + # No need to regex-escape $object, excess matching of '.' is harmless. 584 + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" 585 + sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ 586 +## Some versions of the HPUX 10.20 sed can't process this invocation 587 +## correctly. Breaking it into two sed invocations is a workaround. 588 + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" 589 + rm -f "$tmpdepfile" "$tmpdepfile".bak 590 + ;; 591 + 592 +cpp) 593 + # Important note: in order to support this mode, a compiler *must* 594 + # always write the preprocessed file to stdout. 595 + "$@" || exit $? 596 + 597 + # Remove the call to Libtool. 598 + if test "$libtool" = yes; then 599 + while test "X$1" != 'X--mode=compile'; do 600 + shift 601 + done 602 + shift 603 + fi 604 + 605 + # Remove '-o $object'. 606 + IFS=" " 607 + for arg 608 + do 609 + case $arg in 610 + -o) 611 + shift 612 + ;; 613 + $object) 614 + shift 615 + ;; 616 + *) 617 + set fnord "$@" "$arg" 618 + shift # fnord 619 + shift # $arg 620 + ;; 621 + esac 622 + done 623 + 624 + "$@" -E | 625 + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ 626 + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | 627 + sed '$ s: \\$::' > "$tmpdepfile" 628 + rm -f "$depfile" 629 + echo "$object : \\" > "$depfile" 630 + cat < "$tmpdepfile" >> "$depfile" 631 + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" 632 + rm -f "$tmpdepfile" 633 + ;; 634 + 635 +msvisualcpp) 636 + # Important note: in order to support this mode, a compiler *must* 637 + # always write the preprocessed file to stdout. 638 + "$@" || exit $? 639 + 640 + # Remove the call to Libtool. 641 + if test "$libtool" = yes; then 642 + while test "X$1" != 'X--mode=compile'; do 643 + shift 644 + done 645 + shift 646 + fi 647 + 648 + IFS=" " 649 + for arg 650 + do 651 + case "$arg" in 652 + -o) 653 + shift 654 + ;; 655 + $object) 656 + shift 657 + ;; 658 + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") 659 + set fnord "$@" 660 + shift 661 + shift 662 + ;; 663 + *) 664 + set fnord "$@" "$arg" 665 + shift 666 + shift 667 + ;; 668 + esac 669 + done 670 + "$@" -E 2>/dev/null | 671 + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" 672 + rm -f "$depfile" 673 + echo "$object : \\" > "$depfile" 674 + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" 675 + echo "$tab" >> "$depfile" 676 + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" 677 + rm -f "$tmpdepfile" 678 + ;; 679 + 680 +msvcmsys) 681 + # This case exists only to let depend.m4 do its work. It works by 682 + # looking at the text of this script. This case will never be run, 683 + # since it is checked for above. 684 + exit 1 685 + ;; 686 + 687 +none) 688 + exec "$@" 689 + ;; 690 + 691 +*) 692 + echo "Unknown depmode $depmode" 1>&2 693 + exit 1 694 + ;; 695 +esac 696 + 697 +exit 0 698 + 699 +# Local Variables: 700 +# mode: shell-script 701 +# sh-indentation: 2 702 +# eval: (add-hook 'write-file-hooks 'time-stamp) 703 +# time-stamp-start: "scriptversion=" 704 +# time-stamp-format: "%:y-%02m-%02d.%02H" 705 +# time-stamp-time-zone: "UTC" 706 +# time-stamp-end: "; # UTC" 707 +# End:
Added install-sh.
1 +#!/bin/sh 2 +# install - install a program, script, or datafile 3 + 4 +scriptversion=2011-11-20.07; # 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 + # Protect names problematic for 'test' and other utilities. 160 + case $dst_arg in 161 + -* | [=\(\)!]) dst_arg=./$dst_arg;; 162 + esac 163 + shift;; 164 + 165 + -T) no_target_directory=true;; 166 + 167 + --version) echo "$0 $scriptversion"; exit $?;; 168 + 169 + --) shift 170 + break;; 171 + 172 + -*) echo "$0: invalid option: $1" >&2 173 + exit 1;; 174 + 175 + *) break;; 176 + esac 177 + shift 178 +done 179 + 180 +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then 181 + # When -d is used, all remaining arguments are directories to create. 182 + # When -t is used, the destination is already specified. 183 + # Otherwise, the last argument is the destination. Remove it from $@. 184 + for arg 185 + do 186 + if test -n "$dst_arg"; then 187 + # $@ is not empty: it contains at least $arg. 188 + set fnord "$@" "$dst_arg" 189 + shift # fnord 190 + fi 191 + shift # arg 192 + dst_arg=$arg 193 + # Protect names problematic for 'test' and other utilities. 194 + case $dst_arg in 195 + -* | [=\(\)!]) dst_arg=./$dst_arg;; 196 + esac 197 + done 198 +fi 199 + 200 +if test $# -eq 0; then 201 + if test -z "$dir_arg"; then 202 + echo "$0: no input file specified." >&2 203 + exit 1 204 + fi 205 + # It's OK to call 'install-sh -d' without argument. 206 + # This can happen when creating conditional directories. 207 + exit 0 208 +fi 209 + 210 +if test -z "$dir_arg"; then 211 + do_exit='(exit $ret); exit $ret' 212 + trap "ret=129; $do_exit" 1 213 + trap "ret=130; $do_exit" 2 214 + trap "ret=141; $do_exit" 13 215 + trap "ret=143; $do_exit" 15 216 + 217 + # Set umask so as not to create temps with too-generous modes. 218 + # However, 'strip' requires both read and write access to temps. 219 + case $mode in 220 + # Optimize common cases. 221 + *644) cp_umask=133;; 222 + *755) cp_umask=22;; 223 + 224 + *[0-7]) 225 + if test -z "$stripcmd"; then 226 + u_plus_rw= 227 + else 228 + u_plus_rw='% 200' 229 + fi 230 + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; 231 + *) 232 + if test -z "$stripcmd"; then 233 + u_plus_rw= 234 + else 235 + u_plus_rw=,u+rw 236 + fi 237 + cp_umask=$mode$u_plus_rw;; 238 + esac 239 +fi 240 + 241 +for src 242 +do 243 + # Protect names problematic for 'test' and other utilities. 244 + case $src in 245 + -* | [=\(\)!]) src=./$src;; 246 + esac 247 + 248 + if test -n "$dir_arg"; then 249 + dst=$src 250 + dstdir=$dst 251 + test -d "$dstdir" 252 + dstdir_status=$? 253 + else 254 + 255 + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command 256 + # might cause directories to be created, which would be especially bad 257 + # if $src (and thus $dsttmp) contains '*'. 258 + if test ! -f "$src" && test ! -d "$src"; then 259 + echo "$0: $src does not exist." >&2 260 + exit 1 261 + fi 262 + 263 + if test -z "$dst_arg"; then 264 + echo "$0: no destination specified." >&2 265 + exit 1 266 + fi 267 + dst=$dst_arg 268 + 269 + # If destination is a directory, append the input filename; won't work 270 + # if double slashes aren't ignored. 271 + if test -d "$dst"; then 272 + if test -n "$no_target_directory"; then 273 + echo "$0: $dst_arg: Is a directory" >&2 274 + exit 1 275 + fi 276 + dstdir=$dst 277 + dst=$dstdir/`basename "$src"` 278 + dstdir_status=0 279 + else 280 + # Prefer dirname, but fall back on a substitute if dirname fails. 281 + dstdir=` 282 + (dirname "$dst") 2>/dev/null || 283 + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ 284 + X"$dst" : 'X\(//\)[^/]' \| \ 285 + X"$dst" : 'X\(//\)$' \| \ 286 + X"$dst" : 'X\(/\)' \| . 2>/dev/null || 287 + echo X"$dst" | 288 + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ 289 + s//\1/ 290 + q 291 + } 292 + /^X\(\/\/\)[^/].*/{ 293 + s//\1/ 294 + q 295 + } 296 + /^X\(\/\/\)$/{ 297 + s//\1/ 298 + q 299 + } 300 + /^X\(\/\).*/{ 301 + s//\1/ 302 + q 303 + } 304 + s/.*/./; q' 305 + ` 306 + 307 + test -d "$dstdir" 308 + dstdir_status=$? 309 + fi 310 + fi 311 + 312 + obsolete_mkdir_used=false 313 + 314 + if test $dstdir_status != 0; then 315 + case $posix_mkdir in 316 + '') 317 + # Create intermediate dirs using mode 755 as modified by the umask. 318 + # This is like FreeBSD 'install' as of 1997-10-28. 319 + umask=`umask` 320 + case $stripcmd.$umask in 321 + # Optimize common cases. 322 + *[2367][2367]) mkdir_umask=$umask;; 323 + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; 324 + 325 + *[0-7]) 326 + mkdir_umask=`expr $umask + 22 \ 327 + - $umask % 100 % 40 + $umask % 20 \ 328 + - $umask % 10 % 4 + $umask % 2 329 + `;; 330 + *) mkdir_umask=$umask,go-w;; 331 + esac 332 + 333 + # With -d, create the new directory with the user-specified mode. 334 + # Otherwise, rely on $mkdir_umask. 335 + if test -n "$dir_arg"; then 336 + mkdir_mode=-m$mode 337 + else 338 + mkdir_mode= 339 + fi 340 + 341 + posix_mkdir=false 342 + case $umask in 343 + *[123567][0-7][0-7]) 344 + # POSIX mkdir -p sets u+wx bits regardless of umask, which 345 + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. 346 + ;; 347 + *) 348 + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ 349 + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 350 + 351 + if (umask $mkdir_umask && 352 + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 353 + then 354 + if test -z "$dir_arg" || { 355 + # Check for POSIX incompatibilities with -m. 356 + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or 357 + # other-writable bit of parent directory when it shouldn't. 358 + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. 359 + ls_ld_tmpdir=`ls -ld "$tmpdir"` 360 + case $ls_ld_tmpdir in 361 + d????-?r-*) different_mode=700;; 362 + d????-?--*) different_mode=755;; 363 + *) false;; 364 + esac && 365 + $mkdirprog -m$different_mode -p -- "$tmpdir" && { 366 + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` 367 + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" 368 + } 369 + } 370 + then posix_mkdir=: 371 + fi 372 + rmdir "$tmpdir/d" "$tmpdir" 373 + else 374 + # Remove any dirs left behind by ancient mkdir implementations. 375 + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null 376 + fi 377 + trap '' 0;; 378 + esac;; 379 + esac 380 + 381 + if 382 + $posix_mkdir && ( 383 + umask $mkdir_umask && 384 + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" 385 + ) 386 + then : 387 + else 388 + 389 + # The umask is ridiculous, or mkdir does not conform to POSIX, 390 + # or it failed possibly due to a race condition. Create the 391 + # directory the slow way, step by step, checking for races as we go. 392 + 393 + case $dstdir in 394 + /*) prefix='/';; 395 + [-=\(\)!]*) prefix='./';; 396 + *) prefix='';; 397 + esac 398 + 399 + eval "$initialize_posix_glob" 400 + 401 + oIFS=$IFS 402 + IFS=/ 403 + $posix_glob set -f 404 + set fnord $dstdir 405 + shift 406 + $posix_glob set +f 407 + IFS=$oIFS 408 + 409 + prefixes= 410 + 411 + for d 412 + do 413 + test X"$d" = X && continue 414 + 415 + prefix=$prefix$d 416 + if test -d "$prefix"; then 417 + prefixes= 418 + else 419 + if $posix_mkdir; then 420 + (umask=$mkdir_umask && 421 + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break 422 + # Don't fail if two instances are running concurrently. 423 + test -d "$prefix" || exit 1 424 + else 425 + case $prefix in 426 + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; 427 + *) qprefix=$prefix;; 428 + esac 429 + prefixes="$prefixes '$qprefix'" 430 + fi 431 + fi 432 + prefix=$prefix/ 433 + done 434 + 435 + if test -n "$prefixes"; then 436 + # Don't fail if two instances are running concurrently. 437 + (umask $mkdir_umask && 438 + eval "\$doit_exec \$mkdirprog $prefixes") || 439 + test -d "$dstdir" || exit 1 440 + obsolete_mkdir_used=true 441 + fi 442 + fi 443 + fi 444 + 445 + if test -n "$dir_arg"; then 446 + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && 447 + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && 448 + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || 449 + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 450 + else 451 + 452 + # Make a couple of temp file names in the proper directory. 453 + dsttmp=$dstdir/_inst.$$_ 454 + rmtmp=$dstdir/_rm.$$_ 455 + 456 + # Trap to clean up those temp files at exit. 457 + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 458 + 459 + # Copy the file name to the temp name. 460 + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && 461 + 462 + # and set any options; do chmod last to preserve setuid bits. 463 + # 464 + # If any of these fail, we abort the whole thing. If we want to 465 + # ignore errors from any of these, just make sure not to ignore 466 + # errors from the above "$doit $cpprog $src $dsttmp" command. 467 + # 468 + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && 469 + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && 470 + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && 471 + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && 472 + 473 + # If -C, don't bother to copy if it wouldn't change the file. 474 + if $copy_on_change && 475 + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && 476 + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && 477 + 478 + eval "$initialize_posix_glob" && 479 + $posix_glob set -f && 480 + set X $old && old=:$2:$4:$5:$6 && 481 + set X $new && new=:$2:$4:$5:$6 && 482 + $posix_glob set +f && 483 + 484 + test "$old" = "$new" && 485 + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 486 + then 487 + rm -f "$dsttmp" 488 + else 489 + # Rename the file to the real destination. 490 + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || 491 + 492 + # The rename failed, perhaps because mv can't rename something else 493 + # to itself, or perhaps because mv is so ancient that it does not 494 + # support -f. 495 + { 496 + # Now remove or move aside any old file at destination location. 497 + # We try this two ways since rm can't unlink itself on some 498 + # systems and the destination file might be busy for other 499 + # reasons. In this case, the final cleanup might fail but the new 500 + # file should still install successfully. 501 + { 502 + test ! -f "$dst" || 503 + $doit $rmcmd -f "$dst" 2>/dev/null || 504 + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && 505 + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } 506 + } || 507 + { echo "$0: cannot unlink or rename $dst" >&2 508 + (exit 1); exit 1 509 + } 510 + } && 511 + 512 + # Now rename the file to the real destination. 513 + $doit $mvcmd "$dsttmp" "$dst" 514 + } 515 + fi || exit 1 516 + 517 + trap '' 0 518 + fi 519 +done 520 + 521 +# Local variables: 522 +# eval: (add-hook 'write-file-hooks 'time-stamp) 523 +# time-stamp-start: "scriptversion=" 524 +# time-stamp-format: "%:y-%02m-%02d.%02H" 525 +# time-stamp-time-zone: "UTC" 526 +# time-stamp-end: "; # UTC" 527 +# End:
Added ltmain.sh.
1 + 2 +# libtool (GNU libtool) 2.4.2 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, 2011 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 +# --no-warn don't display warning messages 45 +# --tag=TAG use configuration variables from tag TAG 46 +# -v, --verbose print more informational messages than default 47 +# --no-verbose don't print the extra informational messages 48 +# --version print version information 49 +# -h, --help, --help-all print short, long, or detailed help message 50 +# 51 +# MODE must be one of the following: 52 +# 53 +# clean remove files from the build directory 54 +# compile compile a source file into a libtool object 55 +# execute automatically set library path, then run a program 56 +# finish complete the installation of libtool libraries 57 +# install install libraries or executables 58 +# link create a library or an executable 59 +# uninstall remove libraries from an installed directory 60 +# 61 +# MODE-ARGS vary depending on the MODE. When passed as first option, 62 +# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. 63 +# Try `$progname --help --mode=MODE' for a more detailed description of MODE. 64 +# 65 +# When reporting a bug, please describe a test case to reproduce it and 66 +# include the following information: 67 +# 68 +# host-triplet: $host 69 +# shell: $SHELL 70 +# compiler: $LTCC 71 +# compiler flags: $LTCFLAGS 72 +# linker: $LD (gnu? $with_gnu_ld) 73 +# $progname: (GNU libtool) 2.4.2 74 +# automake: $automake_version 75 +# autoconf: $autoconf_version 76 +# 77 +# Report bugs to <bug-libtool@gnu.org>. 78 +# GNU libtool home page: <http://www.gnu.org/software/libtool/>. 79 +# General help using GNU software: <http://www.gnu.org/gethelp/>. 80 + 81 +PROGRAM=libtool 82 +PACKAGE=libtool 83 +VERSION=2.4.2 84 +TIMESTAMP="" 85 +package_revision=1.3337 86 + 87 +# Be Bourne compatible 88 +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then 89 + emulate sh 90 + NULLCMD=: 91 + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which 92 + # is contrary to our usage. Disable this feature. 93 + alias -g '${1+"$@"}'='"$@"' 94 + setopt NO_GLOB_SUBST 95 +else 96 + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac 97 +fi 98 +BIN_SH=xpg4; export BIN_SH # for Tru64 99 +DUALCASE=1; export DUALCASE # for MKS sh 100 + 101 +# A function that is used when there is no print builtin or printf. 102 +func_fallback_echo () 103 +{ 104 + eval 'cat <<_LTECHO_EOF 105 +$1 106 +_LTECHO_EOF' 107 +} 108 + 109 +# NLS nuisances: We save the old values to restore during execute mode. 110 +lt_user_locale= 111 +lt_safe_locale= 112 +for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES 113 +do 114 + eval "if test \"\${$lt_var+set}\" = set; then 115 + save_$lt_var=\$$lt_var 116 + $lt_var=C 117 + export $lt_var 118 + lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" 119 + lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" 120 + fi" 121 +done 122 +LC_ALL=C 123 +LANGUAGE=C 124 +export LANGUAGE LC_ALL 125 + 126 +$lt_unset CDPATH 127 + 128 + 129 +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh 130 +# is ksh but when the shell is invoked as "sh" and the current value of 131 +# the _XPG environment variable is not equal to 1 (one), the special 132 +# positional parameter $0, within a function call, is the name of the 133 +# function. 134 +progpath="$0" 135 + 136 + 137 + 138 +: ${CP="cp -f"} 139 +test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} 140 +: ${MAKE="make"} 141 +: ${MKDIR="mkdir"} 142 +: ${MV="mv -f"} 143 +: ${RM="rm -f"} 144 +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} 145 +: ${Xsed="$SED -e 1s/^X//"} 146 + 147 +# Global variables: 148 +EXIT_SUCCESS=0 149 +EXIT_FAILURE=1 150 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. 151 +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. 152 + 153 +exit_status=$EXIT_SUCCESS 154 + 155 +# Make sure IFS has a sensible default 156 +lt_nl=' 157 +' 158 +IFS=" $lt_nl" 159 + 160 +dirname="s,/[^/]*$,," 161 +basename="s,^.*/,," 162 + 163 +# func_dirname file append nondir_replacement 164 +# Compute the dirname of FILE. If nonempty, add APPEND to the result, 165 +# otherwise set result to NONDIR_REPLACEMENT. 166 +func_dirname () 167 +{ 168 + func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` 169 + if test "X$func_dirname_result" = "X${1}"; then 170 + func_dirname_result="${3}" 171 + else 172 + func_dirname_result="$func_dirname_result${2}" 173 + fi 174 +} # func_dirname may be replaced by extended shell implementation 175 + 176 + 177 +# func_basename file 178 +func_basename () 179 +{ 180 + func_basename_result=`$ECHO "${1}" | $SED "$basename"` 181 +} # func_basename may be replaced by extended shell implementation 182 + 183 + 184 +# func_dirname_and_basename file append nondir_replacement 185 +# perform func_basename and func_dirname in a single function 186 +# call: 187 +# dirname: Compute the dirname of FILE. If nonempty, 188 +# add APPEND to the result, otherwise set result 189 +# to NONDIR_REPLACEMENT. 190 +# value returned in "$func_dirname_result" 191 +# basename: Compute filename of FILE. 192 +# value retuned in "$func_basename_result" 193 +# Implementation must be kept synchronized with func_dirname 194 +# and func_basename. For efficiency, we do not delegate to 195 +# those functions but instead duplicate the functionality here. 196 +func_dirname_and_basename () 197 +{ 198 + # Extract subdirectory from the argument. 199 + func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` 200 + if test "X$func_dirname_result" = "X${1}"; then 201 + func_dirname_result="${3}" 202 + else 203 + func_dirname_result="$func_dirname_result${2}" 204 + fi 205 + func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` 206 +} # func_dirname_and_basename may be replaced by extended shell implementation 207 + 208 + 209 +# func_stripname prefix suffix name 210 +# strip PREFIX and SUFFIX off of NAME. 211 +# PREFIX and SUFFIX must not contain globbing or regex special 212 +# characters, hashes, percent signs, but SUFFIX may contain a leading 213 +# dot (in which case that matches only a dot). 214 +# func_strip_suffix prefix name 215 +func_stripname () 216 +{ 217 + case ${2} in 218 + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; 219 + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; 220 + esac 221 +} # func_stripname may be replaced by extended shell implementation 222 + 223 + 224 +# These SED scripts presuppose an absolute path with a trailing slash. 225 +pathcar='s,^/\([^/]*\).*$,\1,' 226 +pathcdr='s,^/[^/]*,,' 227 +removedotparts=':dotsl 228 + s@/\./@/@g 229 + t dotsl 230 + s,/\.$,/,' 231 +collapseslashes='s@/\{1,\}@/@g' 232 +finalslash='s,/*$,/,' 233 + 234 +# func_normal_abspath PATH 235 +# Remove doubled-up and trailing slashes, "." path components, 236 +# and cancel out any ".." path components in PATH after making 237 +# it an absolute path. 238 +# value returned in "$func_normal_abspath_result" 239 +func_normal_abspath () 240 +{ 241 + # Start from root dir and reassemble the path. 242 + func_normal_abspath_result= 243 + func_normal_abspath_tpath=$1 244 + func_normal_abspath_altnamespace= 245 + case $func_normal_abspath_tpath in 246 + "") 247 + # Empty path, that just means $cwd. 248 + func_stripname '' '/' "`pwd`" 249 + func_normal_abspath_result=$func_stripname_result 250 + return 251 + ;; 252 + # The next three entries are used to spot a run of precisely 253 + # two leading slashes without using negated character classes; 254 + # we take advantage of case's first-match behaviour. 255 + ///*) 256 + # Unusual form of absolute path, do nothing. 257 + ;; 258 + //*) 259 + # Not necessarily an ordinary path; POSIX reserves leading '//' 260 + # and for example Cygwin uses it to access remote file shares 261 + # over CIFS/SMB, so we conserve a leading double slash if found. 262 + func_normal_abspath_altnamespace=/ 263 + ;; 264 + /*) 265 + # Absolute path, do nothing. 266 + ;; 267 + *) 268 + # Relative path, prepend $cwd. 269 + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath 270 + ;; 271 + esac 272 + # Cancel out all the simple stuff to save iterations. We also want 273 + # the path to end with a slash for ease of parsing, so make sure 274 + # there is one (and only one) here. 275 + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ 276 + -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` 277 + while :; do 278 + # Processed it all yet? 279 + if test "$func_normal_abspath_tpath" = / ; then 280 + # If we ascended to the root using ".." the result may be empty now. 281 + if test -z "$func_normal_abspath_result" ; then 282 + func_normal_abspath_result=/ 283 + fi 284 + break 285 + fi 286 + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ 287 + -e "$pathcar"` 288 + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ 289 + -e "$pathcdr"` 290 + # Figure out what to do with it 291 + case $func_normal_abspath_tcomponent in 292 + "") 293 + # Trailing empty path component, ignore it. 294 + ;; 295 + ..) 296 + # Parent dir; strip last assembled component from result. 297 + func_dirname "$func_normal_abspath_result" 298 + func_normal_abspath_result=$func_dirname_result 299 + ;; 300 + *) 301 + # Actual path component, append it. 302 + func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent 303 + ;; 304 + esac 305 + done 306 + # Restore leading double-slash if one was found on entry. 307 + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result 308 +} 309 + 310 +# func_relative_path SRCDIR DSTDIR 311 +# generates a relative path from SRCDIR to DSTDIR, with a trailing 312 +# slash if non-empty, suitable for immediately appending a filename 313 +# without needing to append a separator. 314 +# value returned in "$func_relative_path_result" 315 +func_relative_path () 316 +{ 317 + func_relative_path_result= 318 + func_normal_abspath "$1" 319 + func_relative_path_tlibdir=$func_normal_abspath_result 320 + func_normal_abspath "$2" 321 + func_relative_path_tbindir=$func_normal_abspath_result 322 + 323 + # Ascend the tree starting from libdir 324 + while :; do 325 + # check if we have found a prefix of bindir 326 + case $func_relative_path_tbindir in 327 + $func_relative_path_tlibdir) 328 + # found an exact match 329 + func_relative_path_tcancelled= 330 + break 331 + ;; 332 + $func_relative_path_tlibdir*) 333 + # found a matching prefix 334 + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" 335 + func_relative_path_tcancelled=$func_stripname_result 336 + if test -z "$func_relative_path_result"; then 337 + func_relative_path_result=. 338 + fi 339 + break 340 + ;; 341 + *) 342 + func_dirname $func_relative_path_tlibdir 343 + func_relative_path_tlibdir=${func_dirname_result} 344 + if test "x$func_relative_path_tlibdir" = x ; then 345 + # Have to descend all the way to the root! 346 + func_relative_path_result=../$func_relative_path_result 347 + func_relative_path_tcancelled=$func_relative_path_tbindir 348 + break 349 + fi 350 + func_relative_path_result=../$func_relative_path_result 351 + ;; 352 + esac 353 + done 354 + 355 + # Now calculate path; take care to avoid doubling-up slashes. 356 + func_stripname '' '/' "$func_relative_path_result" 357 + func_relative_path_result=$func_stripname_result 358 + func_stripname '/' '/' "$func_relative_path_tcancelled" 359 + if test "x$func_stripname_result" != x ; then 360 + func_relative_path_result=${func_relative_path_result}/${func_stripname_result} 361 + fi 362 + 363 + # Normalisation. If bindir is libdir, return empty string, 364 + # else relative path ending with a slash; either way, target 365 + # file name can be directly appended. 366 + if test ! -z "$func_relative_path_result"; then 367 + func_stripname './' '' "$func_relative_path_result/" 368 + func_relative_path_result=$func_stripname_result 369 + fi 370 +} 371 + 372 +# The name of this program: 373 +func_dirname_and_basename "$progpath" 374 +progname=$func_basename_result 375 + 376 +# Make sure we have an absolute path for reexecution: 377 +case $progpath in 378 + [\\/]*|[A-Za-z]:\\*) ;; 379 + *[\\/]*) 380 + progdir=$func_dirname_result 381 + progdir=`cd "$progdir" && pwd` 382 + progpath="$progdir/$progname" 383 + ;; 384 + *) 385 + save_IFS="$IFS" 386 + IFS=${PATH_SEPARATOR-:} 387 + for progdir in $PATH; do 388 + IFS="$save_IFS" 389 + test -x "$progdir/$progname" && break 390 + done 391 + IFS="$save_IFS" 392 + test -n "$progdir" || progdir=`pwd` 393 + progpath="$progdir/$progname" 394 + ;; 395 +esac 396 + 397 +# Sed substitution that helps us do robust quoting. It backslashifies 398 +# metacharacters that are still active within double-quoted strings. 399 +Xsed="${SED}"' -e 1s/^X//' 400 +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' 401 + 402 +# Same as above, but do not quote variable references. 403 +double_quote_subst='s/\(["`\\]\)/\\\1/g' 404 + 405 +# Sed substitution that turns a string into a regex matching for the 406 +# string literally. 407 +sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' 408 + 409 +# Sed substitution that converts a w32 file name or path 410 +# which contains forward slashes, into one that contains 411 +# (escaped) backslashes. A very naive implementation. 412 +lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' 413 + 414 +# Re-`\' parameter expansions in output of double_quote_subst that were 415 +# `\'-ed in input to the same. If an odd number of `\' preceded a '$' 416 +# in input to double_quote_subst, that '$' was protected from expansion. 417 +# Since each input `\' is now two `\'s, look for any number of runs of 418 +# four `\'s followed by two `\'s and then a '$'. `\' that '$'. 419 +bs='\\' 420 +bs2='\\\\' 421 +bs4='\\\\\\\\' 422 +dollar='\$' 423 +sed_double_backslash="\ 424 + s/$bs4/&\\ 425 +/g 426 + s/^$bs2$dollar/$bs&/ 427 + s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g 428 + s/\n//g" 429 + 430 +# Standard options: 431 +opt_dry_run=false 432 +opt_help=false 433 +opt_quiet=false 434 +opt_verbose=false 435 +opt_warning=: 436 + 437 +# func_echo arg... 438 +# Echo program name prefixed message, along with the current mode 439 +# name if it has been set yet. 440 +func_echo () 441 +{ 442 + $ECHO "$progname: ${opt_mode+$opt_mode: }$*" 443 +} 444 + 445 +# func_verbose arg... 446 +# Echo program name prefixed message in verbose mode only. 447 +func_verbose () 448 +{ 449 + $opt_verbose && func_echo ${1+"$@"} 450 + 451 + # A bug in bash halts the script if the last line of a function 452 + # fails when set -e is in force, so we need another command to 453 + # work around that: 454 + : 455 +} 456 + 457 +# func_echo_all arg... 458 +# Invoke $ECHO with all args, space-separated. 459 +func_echo_all () 460 +{ 461 + $ECHO "$*" 462 +} 463 + 464 +# func_error arg... 465 +# Echo program name prefixed message to standard error. 466 +func_error () 467 +{ 468 + $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 469 +} 470 + 471 +# func_warning arg... 472 +# Echo program name prefixed warning message to standard error. 473 +func_warning () 474 +{ 475 + $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 476 + 477 + # bash bug again: 478 + : 479 +} 480 + 481 +# func_fatal_error arg... 482 +# Echo program name prefixed message to standard error, and exit. 483 +func_fatal_error () 484 +{ 485 + func_error ${1+"$@"} 486 + exit $EXIT_FAILURE 487 +} 488 + 489 +# func_fatal_help arg... 490 +# Echo program name prefixed message to standard error, followed by 491 +# a help hint, and exit. 492 +func_fatal_help () 493 +{ 494 + func_error ${1+"$@"} 495 + func_fatal_error "$help" 496 +} 497 +help="Try \`$progname --help' for more information." ## default 498 + 499 + 500 +# func_grep expression filename 501 +# Check whether EXPRESSION matches any line of FILENAME, without output. 502 +func_grep () 503 +{ 504 + $GREP "$1" "$2" >/dev/null 2>&1 505 +} 506 + 507 + 508 +# func_mkdir_p directory-path 509 +# Make sure the entire path to DIRECTORY-PATH is available. 510 +func_mkdir_p () 511 +{ 512 + my_directory_path="$1" 513 + my_dir_list= 514 + 515 + if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then 516 + 517 + # Protect directory names starting with `-' 518 + case $my_directory_path in 519 + -*) my_directory_path="./$my_directory_path" ;; 520 + esac 521 + 522 + # While some portion of DIR does not yet exist... 523 + while test ! -d "$my_directory_path"; do 524 + # ...make a list in topmost first order. Use a colon delimited 525 + # list incase some portion of path contains whitespace. 526 + my_dir_list="$my_directory_path:$my_dir_list" 527 + 528 + # If the last portion added has no slash in it, the list is done 529 + case $my_directory_path in */*) ;; *) break ;; esac 530 + 531 + # ...otherwise throw away the child directory and loop 532 + my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` 533 + done 534 + my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` 535 + 536 + save_mkdir_p_IFS="$IFS"; IFS=':' 537 + for my_dir in $my_dir_list; do 538 + IFS="$save_mkdir_p_IFS" 539 + # mkdir can fail with a `File exist' error if two processes 540 + # try to create one of the directories concurrently. Don't 541 + # stop in that case! 542 + $MKDIR "$my_dir" 2>/dev/null || : 543 + done 544 + IFS="$save_mkdir_p_IFS" 545 + 546 + # Bail out if we (or some other process) failed to create a directory. 547 + test -d "$my_directory_path" || \ 548 + func_fatal_error "Failed to create \`$1'" 549 + fi 550 +} 551 + 552 + 553 +# func_mktempdir [string] 554 +# Make a temporary directory that won't clash with other running 555 +# libtool processes, and avoids race conditions if possible. If 556 +# given, STRING is the basename for that directory. 557 +func_mktempdir () 558 +{ 559 + my_template="${TMPDIR-/tmp}/${1-$progname}" 560 + 561 + if test "$opt_dry_run" = ":"; then 562 + # Return a directory name, but don't create it in dry-run mode 563 + my_tmpdir="${my_template}-$$" 564 + else 565 + 566 + # If mktemp works, use that first and foremost 567 + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` 568 + 569 + if test ! -d "$my_tmpdir"; then 570 + # Failing that, at least try and use $RANDOM to avoid a race 571 + my_tmpdir="${my_template}-${RANDOM-0}$$" 572 + 573 + save_mktempdir_umask=`umask` 574 + umask 0077 575 + $MKDIR "$my_tmpdir" 576 + umask $save_mktempdir_umask 577 + fi 578 + 579 + # If we're not in dry-run mode, bomb out on failure 580 + test -d "$my_tmpdir" || \ 581 + func_fatal_error "cannot create temporary directory \`$my_tmpdir'" 582 + fi 583 + 584 + $ECHO "$my_tmpdir" 585 +} 586 + 587 + 588 +# func_quote_for_eval arg 589 +# Aesthetically quote ARG to be evaled later. 590 +# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT 591 +# is double-quoted, suitable for a subsequent eval, whereas 592 +# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters 593 +# which are still active within double quotes backslashified. 594 +func_quote_for_eval () 595 +{ 596 + case $1 in 597 + *[\\\`\"\$]*) 598 + func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; 599 + *) 600 + func_quote_for_eval_unquoted_result="$1" ;; 601 + esac 602 + 603 + case $func_quote_for_eval_unquoted_result in 604 + # Double-quote args containing shell metacharacters to delay 605 + # word splitting, command substitution and and variable 606 + # expansion for a subsequent eval. 607 + # Many Bourne shells cannot handle close brackets correctly 608 + # in scan sets, so we specify it separately. 609 + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") 610 + func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" 611 + ;; 612 + *) 613 + func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" 614 + esac 615 +} 616 + 617 + 618 +# func_quote_for_expand arg 619 +# Aesthetically quote ARG to be evaled later; same as above, 620 +# but do not quote variable references. 621 +func_quote_for_expand () 622 +{ 623 + case $1 in 624 + *[\\\`\"]*) 625 + my_arg=`$ECHO "$1" | $SED \ 626 + -e "$double_quote_subst" -e "$sed_double_backslash"` ;; 627 + *) 628 + my_arg="$1" ;; 629 + esac 630 + 631 + case $my_arg in 632 + # Double-quote args containing shell metacharacters to delay 633 + # word splitting and command substitution for a subsequent eval. 634 + # Many Bourne shells cannot handle close brackets correctly 635 + # in scan sets, so we specify it separately. 636 + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") 637 + my_arg="\"$my_arg\"" 638 + ;; 639 + esac 640 + 641 + func_quote_for_expand_result="$my_arg" 642 +} 643 + 644 + 645 +# func_show_eval cmd [fail_exp] 646 +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is 647 +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP 648 +# is given, then evaluate it. 649 +func_show_eval () 650 +{ 651 + my_cmd="$1" 652 + my_fail_exp="${2-:}" 653 + 654 + ${opt_silent-false} || { 655 + func_quote_for_expand "$my_cmd" 656 + eval "func_echo $func_quote_for_expand_result" 657 + } 658 + 659 + if ${opt_dry_run-false}; then :; else 660 + eval "$my_cmd" 661 + my_status=$? 662 + if test "$my_status" -eq 0; then :; else 663 + eval "(exit $my_status); $my_fail_exp" 664 + fi 665 + fi 666 +} 667 + 668 + 669 +# func_show_eval_locale cmd [fail_exp] 670 +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is 671 +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP 672 +# is given, then evaluate it. Use the saved locale for evaluation. 673 +func_show_eval_locale () 674 +{ 675 + my_cmd="$1" 676 + my_fail_exp="${2-:}" 677 + 678 + ${opt_silent-false} || { 679 + func_quote_for_expand "$my_cmd" 680 + eval "func_echo $func_quote_for_expand_result" 681 + } 682 + 683 + if ${opt_dry_run-false}; then :; else 684 + eval "$lt_user_locale 685 + $my_cmd" 686 + my_status=$? 687 + eval "$lt_safe_locale" 688 + if test "$my_status" -eq 0; then :; else 689 + eval "(exit $my_status); $my_fail_exp" 690 + fi 691 + fi 692 +} 693 + 694 +# func_tr_sh 695 +# Turn $1 into a string suitable for a shell variable name. 696 +# Result is stored in $func_tr_sh_result. All characters 697 +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, 698 +# if $1 begins with a digit, a '_' is prepended as well. 699 +func_tr_sh () 700 +{ 701 + case $1 in 702 + [0-9]* | *[!a-zA-Z0-9_]*) 703 + func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` 704 + ;; 705 + * ) 706 + func_tr_sh_result=$1 707 + ;; 708 + esac 709 +} 710 + 711 + 712 +# func_version 713 +# Echo version message to standard output and exit. 714 +func_version () 715 +{ 716 + $opt_debug 717 + 718 + $SED -n '/(C)/!b go 719 + :more 720 + /\./!{ 721 + N 722 + s/\n# / / 723 + b more 724 + } 725 + :go 726 + /^# '$PROGRAM' (GNU /,/# warranty; / { 727 + s/^# // 728 + s/^# *$// 729 + s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ 730 + p 731 + }' < "$progpath" 732 + exit $? 733 +} 734 + 735 +# func_usage 736 +# Echo short help message to standard output and exit. 737 +func_usage () 738 +{ 739 + $opt_debug 740 + 741 + $SED -n '/^# Usage:/,/^# *.*--help/ { 742 + s/^# // 743 + s/^# *$// 744 + s/\$progname/'$progname'/ 745 + p 746 + }' < "$progpath" 747 + echo 748 + $ECHO "run \`$progname --help | more' for full usage" 749 + exit $? 750 +} 751 + 752 +# func_help [NOEXIT] 753 +# Echo long help message to standard output and exit, 754 +# unless 'noexit' is passed as argument. 755 +func_help () 756 +{ 757 + $opt_debug 758 + 759 + $SED -n '/^# Usage:/,/# Report bugs to/ { 760 + :print 761 + s/^# // 762 + s/^# *$// 763 + s*\$progname*'$progname'* 764 + s*\$host*'"$host"'* 765 + s*\$SHELL*'"$SHELL"'* 766 + s*\$LTCC*'"$LTCC"'* 767 + s*\$LTCFLAGS*'"$LTCFLAGS"'* 768 + s*\$LD*'"$LD"'* 769 + s/\$with_gnu_ld/'"$with_gnu_ld"'/ 770 + s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ 771 + s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ 772 + p 773 + d 774 + } 775 + /^# .* home page:/b print 776 + /^# General help using/b print 777 + ' < "$progpath" 778 + ret=$? 779 + if test -z "$1"; then 780 + exit $ret 781 + fi 782 +} 783 + 784 +# func_missing_arg argname 785 +# Echo program name prefixed message to standard error and set global 786 +# exit_cmd. 787 +func_missing_arg () 788 +{ 789 + $opt_debug 790 + 791 + func_error "missing argument for $1." 792 + exit_cmd=exit 793 +} 794 + 795 + 796 +# func_split_short_opt shortopt 797 +# Set func_split_short_opt_name and func_split_short_opt_arg shell 798 +# variables after splitting SHORTOPT after the 2nd character. 799 +func_split_short_opt () 800 +{ 801 + my_sed_short_opt='1s/^\(..\).*$/\1/;q' 802 + my_sed_short_rest='1s/^..\(.*\)$/\1/;q' 803 + 804 + func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` 805 + func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` 806 +} # func_split_short_opt may be replaced by extended shell implementation 807 + 808 + 809 +# func_split_long_opt longopt 810 +# Set func_split_long_opt_name and func_split_long_opt_arg shell 811 +# variables after splitting LONGOPT at the `=' sign. 812 +func_split_long_opt () 813 +{ 814 + my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' 815 + my_sed_long_arg='1s/^--[^=]*=//' 816 + 817 + func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` 818 + func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` 819 +} # func_split_long_opt may be replaced by extended shell implementation 820 + 821 +exit_cmd=: 822 + 823 + 824 + 825 + 826 + 827 +magic="%%%MAGIC variable%%%" 828 +magic_exe="%%%MAGIC EXE variable%%%" 829 + 830 +# Global variables. 831 +nonopt= 832 +preserve_args= 833 +lo2o="s/\\.lo\$/.${objext}/" 834 +o2lo="s/\\.${objext}\$/.lo/" 835 +extracted_archives= 836 +extracted_serial=0 837 + 838 +# If this variable is set in any of the actions, the command in it 839 +# will be execed at the end. This prevents here-documents from being 840 +# left over by shells. 841 +exec_cmd= 842 + 843 +# func_append var value 844 +# Append VALUE to the end of shell variable VAR. 845 +func_append () 846 +{ 847 + eval "${1}=\$${1}\${2}" 848 +} # func_append may be replaced by extended shell implementation 849 + 850 +# func_append_quoted var value 851 +# Quote VALUE and append to the end of shell variable VAR, separated 852 +# by a space. 853 +func_append_quoted () 854 +{ 855 + func_quote_for_eval "${2}" 856 + eval "${1}=\$${1}\\ \$func_quote_for_eval_result" 857 +} # func_append_quoted may be replaced by extended shell implementation 858 + 859 + 860 +# func_arith arithmetic-term... 861 +func_arith () 862 +{ 863 + func_arith_result=`expr "${@}"` 864 +} # func_arith may be replaced by extended shell implementation 865 + 866 + 867 +# func_len string 868 +# STRING may not start with a hyphen. 869 +func_len () 870 +{ 871 + func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` 872 +} # func_len may be replaced by extended shell implementation 873 + 874 + 875 +# func_lo2o object 876 +func_lo2o () 877 +{ 878 + func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` 879 +} # func_lo2o may be replaced by extended shell implementation 880 + 881 + 882 +# func_xform libobj-or-source 883 +func_xform () 884 +{ 885 + func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` 886 +} # func_xform may be replaced by extended shell implementation 887 + 888 + 889 +# func_fatal_configuration arg... 890 +# Echo program name prefixed message to standard error, followed by 891 +# a configuration failure hint, and exit. 892 +func_fatal_configuration () 893 +{ 894 + func_error ${1+"$@"} 895 + func_error "See the $PACKAGE documentation for more information." 896 + func_fatal_error "Fatal configuration error." 897 +} 898 + 899 + 900 +# func_config 901 +# Display the configuration for all the tags in this script. 902 +func_config () 903 +{ 904 + re_begincf='^# ### BEGIN LIBTOOL' 905 + re_endcf='^# ### END LIBTOOL' 906 + 907 + # Default configuration. 908 + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" 909 + 910 + # Now print the configurations for the tags. 911 + for tagname in $taglist; do 912 + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" 913 + done 914 + 915 + exit $? 916 +} 917 + 918 +# func_features 919 +# Display the features supported by this script. 920 +func_features () 921 +{ 922 + echo "host: $host" 923 + if test "$build_libtool_libs" = yes; then 924 + echo "enable shared libraries" 925 + else 926 + echo "disable shared libraries" 927 + fi 928 + if test "$build_old_libs" = yes; then 929 + echo "enable static libraries" 930 + else 931 + echo "disable static libraries" 932 + fi 933 + 934 + exit $? 935 +} 936 + 937 +# func_enable_tag tagname 938 +# Verify that TAGNAME is valid, and either flag an error and exit, or 939 +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist 940 +# variable here. 941 +func_enable_tag () 942 +{ 943 + # Global variable: 944 + tagname="$1" 945 + 946 + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" 947 + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" 948 + sed_extractcf="/$re_begincf/,/$re_endcf/p" 949 + 950 + # Validate tagname. 951 + case $tagname in 952 + *[!-_A-Za-z0-9,/]*) 953 + func_fatal_error "invalid tag name: $tagname" 954 + ;; 955 + esac 956 + 957 + # Don't test for the "default" C tag, as we know it's 958 + # there but not specially marked. 959 + case $tagname in 960 + CC) ;; 961 + *) 962 + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then 963 + taglist="$taglist $tagname" 964 + 965 + # Evaluate the configuration. Be careful to quote the path 966 + # and the sed script, to avoid splitting on whitespace, but 967 + # also don't use non-portable quotes within backquotes within 968 + # quotes we have to do it in 2 steps: 969 + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` 970 + eval "$extractedcf" 971 + else 972 + func_error "ignoring unknown tag $tagname" 973 + fi 974 + ;; 975 + esac 976 +} 977 + 978 +# func_check_version_match 979 +# Ensure that we are using m4 macros, and libtool script from the same 980 +# release of libtool. 981 +func_check_version_match () 982 +{ 983 + if test "$package_revision" != "$macro_revision"; then 984 + if test "$VERSION" != "$macro_version"; then 985 + if test -z "$macro_version"; then 986 + cat >&2 <<_LT_EOF 987 +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the 988 +$progname: definition of this LT_INIT comes from an older release. 989 +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION 990 +$progname: and run autoconf again. 991 +_LT_EOF 992 + else 993 + cat >&2 <<_LT_EOF 994 +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the 995 +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. 996 +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION 997 +$progname: and run autoconf again. 998 +_LT_EOF 999 + fi 1000 + else 1001 + cat >&2 <<_LT_EOF 1002 +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, 1003 +$progname: but the definition of this LT_INIT comes from revision $macro_revision. 1004 +$progname: You should recreate aclocal.m4 with macros from revision $package_revision 1005 +$progname: of $PACKAGE $VERSION and run autoconf again. 1006 +_LT_EOF 1007 + fi 1008 + 1009 + exit $EXIT_MISMATCH 1010 + fi 1011 +} 1012 + 1013 + 1014 +# Shorthand for --mode=foo, only valid as the first argument 1015 +case $1 in 1016 +clean|clea|cle|cl) 1017 + shift; set dummy --mode clean ${1+"$@"}; shift 1018 + ;; 1019 +compile|compil|compi|comp|com|co|c) 1020 + shift; set dummy --mode compile ${1+"$@"}; shift 1021 + ;; 1022 +execute|execut|execu|exec|exe|ex|e) 1023 + shift; set dummy --mode execute ${1+"$@"}; shift 1024 + ;; 1025 +finish|finis|fini|fin|fi|f) 1026 + shift; set dummy --mode finish ${1+"$@"}; shift 1027 + ;; 1028 +install|instal|insta|inst|ins|in|i) 1029 + shift; set dummy --mode install ${1+"$@"}; shift 1030 + ;; 1031 +link|lin|li|l) 1032 + shift; set dummy --mode link ${1+"$@"}; shift 1033 + ;; 1034 +uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) 1035 + shift; set dummy --mode uninstall ${1+"$@"}; shift 1036 + ;; 1037 +esac 1038 + 1039 + 1040 + 1041 +# Option defaults: 1042 +opt_debug=: 1043 +opt_dry_run=false 1044 +opt_config=false 1045 +opt_preserve_dup_deps=false 1046 +opt_features=false 1047 +opt_finish=false 1048 +opt_help=false 1049 +opt_help_all=false 1050 +opt_silent=: 1051 +opt_warning=: 1052 +opt_verbose=: 1053 +opt_silent=false 1054 +opt_verbose=false 1055 + 1056 + 1057 +# Parse options once, thoroughly. This comes as soon as possible in the 1058 +# script to make things like `--version' happen as quickly as we can. 1059 +{ 1060 + # this just eases exit handling 1061 + while test $# -gt 0; do 1062 + opt="$1" 1063 + shift 1064 + case $opt in 1065 + --debug|-x) opt_debug='set -x' 1066 + func_echo "enabling shell trace mode" 1067 + $opt_debug 1068 + ;; 1069 + --dry-run|--dryrun|-n) 1070 + opt_dry_run=: 1071 + ;; 1072 + --config) 1073 + opt_config=: 1074 +func_config 1075 + ;; 1076 + --dlopen|-dlopen) 1077 + optarg="$1" 1078 + opt_dlopen="${opt_dlopen+$opt_dlopen 1079 +}$optarg" 1080 + shift 1081 + ;; 1082 + --preserve-dup-deps) 1083 + opt_preserve_dup_deps=: 1084 + ;; 1085 + --features) 1086 + opt_features=: 1087 +func_features 1088 + ;; 1089 + --finish) 1090 + opt_finish=: 1091 +set dummy --mode finish ${1+"$@"}; shift 1092 + ;; 1093 + --help) 1094 + opt_help=: 1095 + ;; 1096 + --help-all) 1097 + opt_help_all=: 1098 +opt_help=': help-all' 1099 + ;; 1100 + --mode) 1101 + test $# = 0 && func_missing_arg $opt && break 1102 + optarg="$1" 1103 + opt_mode="$optarg" 1104 +case $optarg in 1105 + # Valid mode arguments: 1106 + clean|compile|execute|finish|install|link|relink|uninstall) ;; 1107 + 1108 + # Catch anything else as an error 1109 + *) func_error "invalid argument for $opt" 1110 + exit_cmd=exit 1111 + break 1112 + ;; 1113 +esac 1114 + shift 1115 + ;; 1116 + --no-silent|--no-quiet) 1117 + opt_silent=false 1118 +func_append preserve_args " $opt" 1119 + ;; 1120 + --no-warning|--no-warn) 1121 + opt_warning=false 1122 +func_append preserve_args " $opt" 1123 + ;; 1124 + --no-verbose) 1125 + opt_verbose=false 1126 +func_append preserve_args " $opt" 1127 + ;; 1128 + --silent|--quiet) 1129 + opt_silent=: 1130 +func_append preserve_args " $opt" 1131 + opt_verbose=false 1132 + ;; 1133 + --verbose|-v) 1134 + opt_verbose=: 1135 +func_append preserve_args " $opt" 1136 +opt_silent=false 1137 + ;; 1138 + --tag) 1139 + test $# = 0 && func_missing_arg $opt && break 1140 + optarg="$1" 1141 + opt_tag="$optarg" 1142 +func_append preserve_args " $opt $optarg" 1143 +func_enable_tag "$optarg" 1144 + shift 1145 + ;; 1146 + 1147 + -\?|-h) func_usage ;; 1148 + --help) func_help ;; 1149 + --version) func_version ;; 1150 + 1151 + # Separate optargs to long options: 1152 + --*=*) 1153 + func_split_long_opt "$opt" 1154 + set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} 1155 + shift 1156 + ;; 1157 + 1158 + # Separate non-argument short options: 1159 + -\?*|-h*|-n*|-v*) 1160 + func_split_short_opt "$opt" 1161 + set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} 1162 + shift 1163 + ;; 1164 + 1165 + --) break ;; 1166 + -*) func_fatal_help "unrecognized option \`$opt'" ;; 1167 + *) set dummy "$opt" ${1+"$@"}; shift; break ;; 1168 + esac 1169 + done 1170 + 1171 + # Validate options: 1172 + 1173 + # save first non-option argument 1174 + if test "$#" -gt 0; then 1175 + nonopt="$opt" 1176 + shift 1177 + fi 1178 + 1179 + # preserve --debug 1180 + test "$opt_debug" = : || func_append preserve_args " --debug" 1181 + 1182 + case $host in 1183 + *cygwin* | *mingw* | *pw32* | *cegcc*) 1184 + # don't eliminate duplications in $postdeps and $predeps 1185 + opt_duplicate_compiler_generated_deps=: 1186 + ;; 1187 + *) 1188 + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps 1189 + ;; 1190 + esac 1191 + 1192 + $opt_help || { 1193 + # Sanity checks first: 1194 + func_check_version_match 1195 + 1196 + if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then 1197 + func_fatal_configuration "not configured to build any kind of library" 1198 + fi 1199 + 1200 + # Darwin sucks 1201 + eval std_shrext=\"$shrext_cmds\" 1202 + 1203 + # Only execute mode is allowed to have -dlopen flags. 1204 + if test -n "$opt_dlopen" && test "$opt_mode" != execute; then 1205 + func_error "unrecognized option \`-dlopen'" 1206 + $ECHO "$help" 1>&2 1207 + exit $EXIT_FAILURE 1208 + fi 1209 + 1210 + # Change the help message to a mode-specific one. 1211 + generic_help="$help" 1212 + help="Try \`$progname --help --mode=$opt_mode' for more information." 1213 + } 1214 + 1215 + 1216 + # Bail if the options were screwed 1217 + $exit_cmd $EXIT_FAILURE 1218 +} 1219 + 1220 + 1221 + 1222 + 1223 +## ----------- ## 1224 +## Main. ## 1225 +## ----------- ## 1226 + 1227 +# func_lalib_p file 1228 +# True iff FILE is a libtool `.la' library or `.lo' object file. 1229 +# This function is only a basic sanity check; it will hardly flush out 1230 +# determined imposters. 1231 +func_lalib_p () 1232 +{ 1233 + test -f "$1" && 1234 + $SED -e 4q "$1" 2>/dev/null \ 1235 + | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 1236 +} 1237 + 1238 +# func_lalib_unsafe_p file 1239 +# True iff FILE is a libtool `.la' library or `.lo' object file. 1240 +# This function implements the same check as func_lalib_p without 1241 +# resorting to external programs. To this end, it redirects stdin and 1242 +# closes it afterwards, without saving the original file descriptor. 1243 +# As a safety measure, use it only where a negative result would be 1244 +# fatal anyway. Works if `file' does not exist. 1245 +func_lalib_unsafe_p () 1246 +{ 1247 + lalib_p=no 1248 + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then 1249 + for lalib_p_l in 1 2 3 4 1250 + do 1251 + read lalib_p_line 1252 + case "$lalib_p_line" in 1253 + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; 1254 + esac 1255 + done 1256 + exec 0<&5 5<&- 1257 + fi 1258 + test "$lalib_p" = yes 1259 +} 1260 + 1261 +# func_ltwrapper_script_p file 1262 +# True iff FILE is a libtool wrapper script 1263 +# This function is only a basic sanity check; it will hardly flush out 1264 +# determined imposters. 1265 +func_ltwrapper_script_p () 1266 +{ 1267 + func_lalib_p "$1" 1268 +} 1269 + 1270 +# func_ltwrapper_executable_p file 1271 +# True iff FILE is a libtool wrapper executable 1272 +# This function is only a basic sanity check; it will hardly flush out 1273 +# determined imposters. 1274 +func_ltwrapper_executable_p () 1275 +{ 1276 + func_ltwrapper_exec_suffix= 1277 + case $1 in 1278 + *.exe) ;; 1279 + *) func_ltwrapper_exec_suffix=.exe ;; 1280 + esac 1281 + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 1282 +} 1283 + 1284 +# func_ltwrapper_scriptname file 1285 +# Assumes file is an ltwrapper_executable 1286 +# uses $file to determine the appropriate filename for a 1287 +# temporary ltwrapper_script. 1288 +func_ltwrapper_scriptname () 1289 +{ 1290 + func_dirname_and_basename "$1" "" "." 1291 + func_stripname '' '.exe' "$func_basename_result" 1292 + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" 1293 +} 1294 + 1295 +# func_ltwrapper_p file 1296 +# True iff FILE is a libtool wrapper script or wrapper executable 1297 +# This function is only a basic sanity check; it will hardly flush out 1298 +# determined imposters. 1299 +func_ltwrapper_p () 1300 +{ 1301 + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" 1302 +} 1303 + 1304 + 1305 +# func_execute_cmds commands fail_cmd 1306 +# Execute tilde-delimited COMMANDS. 1307 +# If FAIL_CMD is given, eval that upon failure. 1308 +# FAIL_CMD may read-access the current command in variable CMD! 1309 +func_execute_cmds () 1310 +{ 1311 + $opt_debug 1312 + save_ifs=$IFS; IFS='~' 1313 + for cmd in $1; do 1314 + IFS=$save_ifs 1315 + eval cmd=\"$cmd\" 1316 + func_show_eval "$cmd" "${2-:}" 1317 + done 1318 + IFS=$save_ifs 1319 +} 1320 + 1321 + 1322 +# func_source file 1323 +# Source FILE, adding directory component if necessary. 1324 +# Note that it is not necessary on cygwin/mingw to append a dot to 1325 +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe 1326 +# behavior happens only for exec(3), not for open(2)! Also, sourcing 1327 +# `FILE.' does not work on cygwin managed mounts. 1328 +func_source () 1329 +{ 1330 + $opt_debug 1331 + case $1 in 1332 + */* | *\\*) . "$1" ;; 1333 + *) . "./$1" ;; 1334 + esac 1335 +} 1336 + 1337 + 1338 +# func_resolve_sysroot PATH 1339 +# Replace a leading = in PATH with a sysroot. Store the result into 1340 +# func_resolve_sysroot_result 1341 +func_resolve_sysroot () 1342 +{ 1343 + func_resolve_sysroot_result=$1 1344 + case $func_resolve_sysroot_result in 1345 + =*) 1346 + func_stripname '=' '' "$func_resolve_sysroot_result" 1347 + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result 1348 + ;; 1349 + esac 1350 +} 1351 + 1352 +# func_replace_sysroot PATH 1353 +# If PATH begins with the sysroot, replace it with = and 1354 +# store the result into func_replace_sysroot_result. 1355 +func_replace_sysroot () 1356 +{ 1357 + case "$lt_sysroot:$1" in 1358 + ?*:"$lt_sysroot"*) 1359 + func_stripname "$lt_sysroot" '' "$1" 1360 + func_replace_sysroot_result="=$func_stripname_result" 1361 + ;; 1362 + *) 1363 + # Including no sysroot. 1364 + func_replace_sysroot_result=$1 1365 + ;; 1366 + esac 1367 +} 1368 + 1369 +# func_infer_tag arg 1370 +# Infer tagged configuration to use if any are available and 1371 +# if one wasn't chosen via the "--tag" command line option. 1372 +# Only attempt this if the compiler in the base compile 1373 +# command doesn't match the default compiler. 1374 +# arg is usually of the form 'gcc ...' 1375 +func_infer_tag () 1376 +{ 1377 + $opt_debug 1378 + if test -n "$available_tags" && test -z "$tagname"; then 1379 + CC_quoted= 1380 + for arg in $CC; do 1381 + func_append_quoted CC_quoted "$arg" 1382 + done 1383 + CC_expanded=`func_echo_all $CC` 1384 + CC_quoted_expanded=`func_echo_all $CC_quoted` 1385 + case $@ in 1386 + # Blanks in the command may have been stripped by the calling shell, 1387 + # but not from the CC environment variable when configure was run. 1388 + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ 1389 + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; 1390 + # Blanks at the start of $base_compile will cause this to fail 1391 + # if we don't check for them as well. 1392 + *) 1393 + for z in $available_tags; do 1394 + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then 1395 + # Evaluate the configuration. 1396 + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" 1397 + CC_quoted= 1398 + for arg in $CC; do 1399 + # Double-quote args containing other shell metacharacters. 1400 + func_append_quoted CC_quoted "$arg" 1401 + done 1402 + CC_expanded=`func_echo_all $CC` 1403 + CC_quoted_expanded=`func_echo_all $CC_quoted` 1404 + case "$@ " in 1405 + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ 1406 + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) 1407 + # The compiler in the base compile command matches 1408 + # the one in the tagged configuration. 1409 + # Assume this is the tagged configuration we want. 1410 + tagname=$z 1411 + break 1412 + ;; 1413 + esac 1414 + fi 1415 + done 1416 + # If $tagname still isn't set, then no tagged configuration 1417 + # was found and let the user know that the "--tag" command 1418 + # line option must be used. 1419 + if test -z "$tagname"; then 1420 + func_echo "unable to infer tagged configuration" 1421 + func_fatal_error "specify a tag with \`--tag'" 1422 +# else 1423 +# func_verbose "using $tagname tagged configuration" 1424 + fi 1425 + ;; 1426 + esac 1427 + fi 1428 +} 1429 + 1430 + 1431 + 1432 +# func_write_libtool_object output_name pic_name nonpic_name 1433 +# Create a libtool object file (analogous to a ".la" file), 1434 +# but don't create it if we're doing a dry run. 1435 +func_write_libtool_object () 1436 +{ 1437 + write_libobj=${1} 1438 + if test "$build_libtool_libs" = yes; then 1439 + write_lobj=\'${2}\' 1440 + else 1441 + write_lobj=none 1442 + fi 1443 + 1444 + if test "$build_old_libs" = yes; then 1445 + write_oldobj=\'${3}\' 1446 + else 1447 + write_oldobj=none 1448 + fi 1449 + 1450 + $opt_dry_run || { 1451 + cat >${write_libobj}T <<EOF 1452 +# $write_libobj - a libtool object file 1453 +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION 1454 +# 1455 +# Please DO NOT delete this file! 1456 +# It is necessary for linking the library. 1457 + 1458 +# Name of the PIC object. 1459 +pic_object=$write_lobj 1460 + 1461 +# Name of the non-PIC object 1462 +non_pic_object=$write_oldobj 1463 + 1464 +EOF 1465 + $MV "${write_libobj}T" "${write_libobj}" 1466 + } 1467 +} 1468 + 1469 + 1470 +################################################## 1471 +# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS # 1472 +################################################## 1473 + 1474 +# func_convert_core_file_wine_to_w32 ARG 1475 +# Helper function used by file name conversion functions when $build is *nix, 1476 +# and $host is mingw, cygwin, or some other w32 environment. Relies on a 1477 +# correctly configured wine environment available, with the winepath program 1478 +# in $build's $PATH. 1479 +# 1480 +# ARG is the $build file name to be converted to w32 format. 1481 +# Result is available in $func_convert_core_file_wine_to_w32_result, and will 1482 +# be empty on error (or when ARG is empty) 1483 +func_convert_core_file_wine_to_w32 () 1484 +{ 1485 + $opt_debug 1486 + func_convert_core_file_wine_to_w32_result="$1" 1487 + if test -n "$1"; then 1488 + # Unfortunately, winepath does not exit with a non-zero error code, so we 1489 + # are forced to check the contents of stdout. On the other hand, if the 1490 + # command is not found, the shell will set an exit code of 127 and print 1491 + # *an error message* to stdout. So we must check for both error code of 1492 + # zero AND non-empty stdout, which explains the odd construction: 1493 + func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null` 1494 + if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then 1495 + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | 1496 + $SED -e "$lt_sed_naive_backslashify"` 1497 + else 1498 + func_convert_core_file_wine_to_w32_result= 1499 + fi 1500 + fi 1501 +} 1502 +# end: func_convert_core_file_wine_to_w32 1503 + 1504 + 1505 +# func_convert_core_path_wine_to_w32 ARG 1506 +# Helper function used by path conversion functions when $build is *nix, and 1507 +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly 1508 +# configured wine environment available, with the winepath program in $build's 1509 +# $PATH. Assumes ARG has no leading or trailing path separator characters. 1510 +# 1511 +# ARG is path to be converted from $build format to win32. 1512 +# Result is available in $func_convert_core_path_wine_to_w32_result. 1513 +# Unconvertible file (directory) names in ARG are skipped; if no directory names 1514 +# are convertible, then the result may be empty. 1515 +func_convert_core_path_wine_to_w32 () 1516 +{ 1517 + $opt_debug 1518 + # unfortunately, winepath doesn't convert paths, only file names 1519 + func_convert_core_path_wine_to_w32_result="" 1520 + if test -n "$1"; then 1521 + oldIFS=$IFS 1522 + IFS=: 1523 + for func_convert_core_path_wine_to_w32_f in $1; do 1524 + IFS=$oldIFS 1525 + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" 1526 + if test -n "$func_convert_core_file_wine_to_w32_result" ; then 1527 + if test -z "$func_convert_core_path_wine_to_w32_result"; then 1528 + func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" 1529 + else 1530 + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" 1531 + fi 1532 + fi 1533 + done 1534 + IFS=$oldIFS 1535 + fi 1536 +} 1537 +# end: func_convert_core_path_wine_to_w32 1538 + 1539 + 1540 +# func_cygpath ARGS... 1541 +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when 1542 +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) 1543 +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or 1544 +# (2), returns the Cygwin file name or path in func_cygpath_result (input 1545 +# file name or path is assumed to be in w32 format, as previously converted 1546 +# from $build's *nix or MSYS format). In case (3), returns the w32 file name 1547 +# or path in func_cygpath_result (input file name or path is assumed to be in 1548 +# Cygwin format). Returns an empty string on error. 1549 +# 1550 +# ARGS are passed to cygpath, with the last one being the file name or path to 1551 +# be converted. 1552 +# 1553 +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH 1554 +# environment variable; do not put it in $PATH. 1555 +func_cygpath () 1556 +{ 1557 + $opt_debug 1558 + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then 1559 + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` 1560 + if test "$?" -ne 0; then 1561 + # on failure, ensure result is empty 1562 + func_cygpath_result= 1563 + fi 1564 + else 1565 + func_cygpath_result= 1566 + func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" 1567 + fi 1568 +} 1569 +#end: func_cygpath 1570 + 1571 + 1572 +# func_convert_core_msys_to_w32 ARG 1573 +# Convert file name or path ARG from MSYS format to w32 format. Return 1574 +# result in func_convert_core_msys_to_w32_result. 1575 +func_convert_core_msys_to_w32 () 1576 +{ 1577 + $opt_debug 1578 + # awkward: cmd appends spaces to result 1579 + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | 1580 + $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` 1581 +} 1582 +#end: func_convert_core_msys_to_w32 1583 + 1584 + 1585 +# func_convert_file_check ARG1 ARG2 1586 +# Verify that ARG1 (a file name in $build format) was converted to $host 1587 +# format in ARG2. Otherwise, emit an error message, but continue (resetting 1588 +# func_to_host_file_result to ARG1). 1589 +func_convert_file_check () 1590 +{ 1591 + $opt_debug 1592 + if test -z "$2" && test -n "$1" ; then 1593 + func_error "Could not determine host file name corresponding to" 1594 + func_error " \`$1'" 1595 + func_error "Continuing, but uninstalled executables may not work." 1596 + # Fallback: 1597 + func_to_host_file_result="$1" 1598 + fi 1599 +} 1600 +# end func_convert_file_check 1601 + 1602 + 1603 +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH 1604 +# Verify that FROM_PATH (a path in $build format) was converted to $host 1605 +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting 1606 +# func_to_host_file_result to a simplistic fallback value (see below). 1607 +func_convert_path_check () 1608 +{ 1609 + $opt_debug 1610 + if test -z "$4" && test -n "$3"; then 1611 + func_error "Could not determine the host path corresponding to" 1612 + func_error " \`$3'" 1613 + func_error "Continuing, but uninstalled executables may not work." 1614 + # Fallback. This is a deliberately simplistic "conversion" and 1615 + # should not be "improved". See libtool.info. 1616 + if test "x$1" != "x$2"; then 1617 + lt_replace_pathsep_chars="s|$1|$2|g" 1618 + func_to_host_path_result=`echo "$3" | 1619 + $SED -e "$lt_replace_pathsep_chars"` 1620 + else 1621 + func_to_host_path_result="$3" 1622 + fi 1623 + fi 1624 +} 1625 +# end func_convert_path_check 1626 + 1627 + 1628 +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG 1629 +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT 1630 +# and appending REPL if ORIG matches BACKPAT. 1631 +func_convert_path_front_back_pathsep () 1632 +{ 1633 + $opt_debug 1634 + case $4 in 1635 + $1 ) func_to_host_path_result="$3$func_to_host_path_result" 1636 + ;; 1637 + esac 1638 + case $4 in 1639 + $2 ) func_append func_to_host_path_result "$3" 1640 + ;; 1641 + esac 1642 +} 1643 +# end func_convert_path_front_back_pathsep 1644 + 1645 + 1646 +################################################## 1647 +# $build to $host FILE NAME CONVERSION FUNCTIONS # 1648 +################################################## 1649 +# invoked via `$to_host_file_cmd ARG' 1650 +# 1651 +# In each case, ARG is the path to be converted from $build to $host format. 1652 +# Result will be available in $func_to_host_file_result. 1653 + 1654 + 1655 +# func_to_host_file ARG 1656 +# Converts the file name ARG from $build format to $host format. Return result 1657 +# in func_to_host_file_result. 1658 +func_to_host_file () 1659 +{ 1660 + $opt_debug 1661 + $to_host_file_cmd "$1" 1662 +} 1663 +# end func_to_host_file 1664 + 1665 + 1666 +# func_to_tool_file ARG LAZY 1667 +# converts the file name ARG from $build format to toolchain format. Return 1668 +# result in func_to_tool_file_result. If the conversion in use is listed 1669 +# in (the comma separated) LAZY, no conversion takes place. 1670 +func_to_tool_file () 1671 +{ 1672 + $opt_debug 1673 + case ,$2, in 1674 + *,"$to_tool_file_cmd",*) 1675 + func_to_tool_file_result=$1 1676 + ;; 1677 + *) 1678 + $to_tool_file_cmd "$1" 1679 + func_to_tool_file_result=$func_to_host_file_result 1680 + ;; 1681 + esac 1682 +} 1683 +# end func_to_tool_file 1684 + 1685 + 1686 +# func_convert_file_noop ARG 1687 +# Copy ARG to func_to_host_file_result. 1688 +func_convert_file_noop () 1689 +{ 1690 + func_to_host_file_result="$1" 1691 +} 1692 +# end func_convert_file_noop 1693 + 1694 + 1695 +# func_convert_file_msys_to_w32 ARG 1696 +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic 1697 +# conversion to w32 is not available inside the cwrapper. Returns result in 1698 +# func_to_host_file_result. 1699 +func_convert_file_msys_to_w32 () 1700 +{ 1701 + $opt_debug 1702 + func_to_host_file_result="$1" 1703 + if test -n "$1"; then 1704 + func_convert_core_msys_to_w32 "$1" 1705 + func_to_host_file_result="$func_convert_core_msys_to_w32_result" 1706 + fi 1707 + func_convert_file_check "$1" "$func_to_host_file_result" 1708 +} 1709 +# end func_convert_file_msys_to_w32 1710 + 1711 + 1712 +# func_convert_file_cygwin_to_w32 ARG 1713 +# Convert file name ARG from Cygwin to w32 format. Returns result in 1714 +# func_to_host_file_result. 1715 +func_convert_file_cygwin_to_w32 () 1716 +{ 1717 + $opt_debug 1718 + func_to_host_file_result="$1" 1719 + if test -n "$1"; then 1720 + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use 1721 + # LT_CYGPATH in this case. 1722 + func_to_host_file_result=`cygpath -m "$1"` 1723 + fi 1724 + func_convert_file_check "$1" "$func_to_host_file_result" 1725 +} 1726 +# end func_convert_file_cygwin_to_w32 1727 + 1728 + 1729 +# func_convert_file_nix_to_w32 ARG 1730 +# Convert file name ARG from *nix to w32 format. Requires a wine environment 1731 +# and a working winepath. Returns result in func_to_host_file_result. 1732 +func_convert_file_nix_to_w32 () 1733 +{ 1734 + $opt_debug 1735 + func_to_host_file_result="$1" 1736 + if test -n "$1"; then 1737 + func_convert_core_file_wine_to_w32 "$1" 1738 + func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" 1739 + fi 1740 + func_convert_file_check "$1" "$func_to_host_file_result" 1741 +} 1742 +# end func_convert_file_nix_to_w32 1743 + 1744 + 1745 +# func_convert_file_msys_to_cygwin ARG 1746 +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. 1747 +# Returns result in func_to_host_file_result. 1748 +func_convert_file_msys_to_cygwin () 1749 +{ 1750 + $opt_debug 1751 + func_to_host_file_result="$1" 1752 + if test -n "$1"; then 1753 + func_convert_core_msys_to_w32 "$1" 1754 + func_cygpath -u "$func_convert_core_msys_to_w32_result" 1755 + func_to_host_file_result="$func_cygpath_result" 1756 + fi 1757 + func_convert_file_check "$1" "$func_to_host_file_result" 1758 +} 1759 +# end func_convert_file_msys_to_cygwin 1760 + 1761 + 1762 +# func_convert_file_nix_to_cygwin ARG 1763 +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed 1764 +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result 1765 +# in func_to_host_file_result. 1766 +func_convert_file_nix_to_cygwin () 1767 +{ 1768 + $opt_debug 1769 + func_to_host_file_result="$1" 1770 + if test -n "$1"; then 1771 + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. 1772 + func_convert_core_file_wine_to_w32 "$1" 1773 + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" 1774 + func_to_host_file_result="$func_cygpath_result" 1775 + fi 1776 + func_convert_file_check "$1" "$func_to_host_file_result" 1777 +} 1778 +# end func_convert_file_nix_to_cygwin 1779 + 1780 + 1781 +############################################# 1782 +# $build to $host PATH CONVERSION FUNCTIONS # 1783 +############################################# 1784 +# invoked via `$to_host_path_cmd ARG' 1785 +# 1786 +# In each case, ARG is the path to be converted from $build to $host format. 1787 +# The result will be available in $func_to_host_path_result. 1788 +# 1789 +# Path separators are also converted from $build format to $host format. If 1790 +# ARG begins or ends with a path separator character, it is preserved (but 1791 +# converted to $host format) on output. 1792 +# 1793 +# All path conversion functions are named using the following convention: 1794 +# file name conversion function : func_convert_file_X_to_Y () 1795 +# path conversion function : func_convert_path_X_to_Y () 1796 +# where, for any given $build/$host combination the 'X_to_Y' value is the 1797 +# same. If conversion functions are added for new $build/$host combinations, 1798 +# the two new functions must follow this pattern, or func_init_to_host_path_cmd 1799 +# will break. 1800 + 1801 + 1802 +# func_init_to_host_path_cmd 1803 +# Ensures that function "pointer" variable $to_host_path_cmd is set to the 1804 +# appropriate value, based on the value of $to_host_file_cmd. 1805 +to_host_path_cmd= 1806 +func_init_to_host_path_cmd () 1807 +{ 1808 + $opt_debug 1809 + if test -z "$to_host_path_cmd"; then 1810 + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" 1811 + to_host_path_cmd="func_convert_path_${func_stripname_result}" 1812 + fi 1813 +} 1814 + 1815 + 1816 +# func_to_host_path ARG 1817 +# Converts the path ARG from $build format to $host format. Return result 1818 +# in func_to_host_path_result. 1819 +func_to_host_path () 1820 +{ 1821 + $opt_debug 1822 + func_init_to_host_path_cmd 1823 + $to_host_path_cmd "$1" 1824 +} 1825 +# end func_to_host_path 1826 + 1827 + 1828 +# func_convert_path_noop ARG 1829 +# Copy ARG to func_to_host_path_result. 1830 +func_convert_path_noop () 1831 +{ 1832 + func_to_host_path_result="$1" 1833 +} 1834 +# end func_convert_path_noop 1835 + 1836 + 1837 +# func_convert_path_msys_to_w32 ARG 1838 +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic 1839 +# conversion to w32 is not available inside the cwrapper. Returns result in 1840 +# func_to_host_path_result. 1841 +func_convert_path_msys_to_w32 () 1842 +{ 1843 + $opt_debug 1844 + func_to_host_path_result="$1" 1845 + if test -n "$1"; then 1846 + # Remove leading and trailing path separator characters from ARG. MSYS 1847 + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; 1848 + # and winepath ignores them completely. 1849 + func_stripname : : "$1" 1850 + func_to_host_path_tmp1=$func_stripname_result 1851 + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" 1852 + func_to_host_path_result="$func_convert_core_msys_to_w32_result" 1853 + func_convert_path_check : ";" \ 1854 + "$func_to_host_path_tmp1" "$func_to_host_path_result" 1855 + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" 1856 + fi 1857 +} 1858 +# end func_convert_path_msys_to_w32 1859 + 1860 + 1861 +# func_convert_path_cygwin_to_w32 ARG 1862 +# Convert path ARG from Cygwin to w32 format. Returns result in 1863 +# func_to_host_file_result. 1864 +func_convert_path_cygwin_to_w32 () 1865 +{ 1866 + $opt_debug 1867 + func_to_host_path_result="$1" 1868 + if test -n "$1"; then 1869 + # See func_convert_path_msys_to_w32: 1870 + func_stripname : : "$1" 1871 + func_to_host_path_tmp1=$func_stripname_result 1872 + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` 1873 + func_convert_path_check : ";" \ 1874 + "$func_to_host_path_tmp1" "$func_to_host_path_result" 1875 + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" 1876 + fi 1877 +} 1878 +# end func_convert_path_cygwin_to_w32 1879 + 1880 + 1881 +# func_convert_path_nix_to_w32 ARG 1882 +# Convert path ARG from *nix to w32 format. Requires a wine environment and 1883 +# a working winepath. Returns result in func_to_host_file_result. 1884 +func_convert_path_nix_to_w32 () 1885 +{ 1886 + $opt_debug 1887 + func_to_host_path_result="$1" 1888 + if test -n "$1"; then 1889 + # See func_convert_path_msys_to_w32: 1890 + func_stripname : : "$1" 1891 + func_to_host_path_tmp1=$func_stripname_result 1892 + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" 1893 + func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" 1894 + func_convert_path_check : ";" \ 1895 + "$func_to_host_path_tmp1" "$func_to_host_path_result" 1896 + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" 1897 + fi 1898 +} 1899 +# end func_convert_path_nix_to_w32 1900 + 1901 + 1902 +# func_convert_path_msys_to_cygwin ARG 1903 +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. 1904 +# Returns result in func_to_host_file_result. 1905 +func_convert_path_msys_to_cygwin () 1906 +{ 1907 + $opt_debug 1908 + func_to_host_path_result="$1" 1909 + if test -n "$1"; then 1910 + # See func_convert_path_msys_to_w32: 1911 + func_stripname : : "$1" 1912 + func_to_host_path_tmp1=$func_stripname_result 1913 + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" 1914 + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" 1915 + func_to_host_path_result="$func_cygpath_result" 1916 + func_convert_path_check : : \ 1917 + "$func_to_host_path_tmp1" "$func_to_host_path_result" 1918 + func_convert_path_front_back_pathsep ":*" "*:" : "$1" 1919 + fi 1920 +} 1921 +# end func_convert_path_msys_to_cygwin 1922 + 1923 + 1924 +# func_convert_path_nix_to_cygwin ARG 1925 +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a 1926 +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in 1927 +# func_to_host_file_result. 1928 +func_convert_path_nix_to_cygwin () 1929 +{ 1930 + $opt_debug 1931 + func_to_host_path_result="$1" 1932 + if test -n "$1"; then 1933 + # Remove leading and trailing path separator characters from 1934 + # ARG. msys behavior is inconsistent here, cygpath turns them 1935 + # into '.;' and ';.', and winepath ignores them completely. 1936 + func_stripname : : "$1" 1937 + func_to_host_path_tmp1=$func_stripname_result 1938 + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" 1939 + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" 1940 + func_to_host_path_result="$func_cygpath_result" 1941 + func_convert_path_check : : \ 1942 + "$func_to_host_path_tmp1" "$func_to_host_path_result" 1943 + func_convert_path_front_back_pathsep ":*" "*:" : "$1" 1944 + fi 1945 +} 1946 +# end func_convert_path_nix_to_cygwin 1947 + 1948 + 1949 +# func_mode_compile arg... 1950 +func_mode_compile () 1951 +{ 1952 + $opt_debug 1953 + # Get the compilation command and the source file. 1954 + base_compile= 1955 + srcfile="$nonopt" # always keep a non-empty value in "srcfile" 1956 + suppress_opt=yes 1957 + suppress_output= 1958 + arg_mode=normal 1959 + libobj= 1960 + later= 1961 + pie_flag= 1962 + 1963 + for arg 1964 + do 1965 + case $arg_mode in 1966 + arg ) 1967 + # do not "continue". Instead, add this to base_compile 1968 + lastarg="$arg" 1969 + arg_mode=normal 1970 + ;; 1971 + 1972 + target ) 1973 + libobj="$arg" 1974 + arg_mode=normal 1975 + continue 1976 + ;; 1977 + 1978 + normal ) 1979 + # Accept any command-line options. 1980 + case $arg in 1981 + -o) 1982 + test -n "$libobj" && \ 1983 + func_fatal_error "you cannot specify \`-o' more than once" 1984 + arg_mode=target 1985 + continue 1986 + ;; 1987 + 1988 + -pie | -fpie | -fPIE) 1989 + func_append pie_flag " $arg" 1990 + continue 1991 + ;; 1992 + 1993 + -shared | -static | -prefer-pic | -prefer-non-pic) 1994 + func_append later " $arg" 1995 + continue 1996 + ;; 1997 + 1998 + -no-suppress) 1999 + suppress_opt=no 2000 + continue 2001 + ;; 2002 + 2003 + -Xcompiler) 2004 + arg_mode=arg # the next one goes into the "base_compile" arg list 2005 + continue # The current "srcfile" will either be retained or 2006 + ;; # replaced later. I would guess that would be a bug. 2007 + 2008 + -Wc,*) 2009 + func_stripname '-Wc,' '' "$arg" 2010 + args=$func_stripname_result 2011 + lastarg= 2012 + save_ifs="$IFS"; IFS=',' 2013 + for arg in $args; do 2014 + IFS="$save_ifs" 2015 + func_append_quoted lastarg "$arg" 2016 + done 2017 + IFS="$save_ifs" 2018 + func_stripname ' ' '' "$lastarg" 2019 + lastarg=$func_stripname_result 2020 + 2021 + # Add the arguments to base_compile. 2022 + func_append base_compile " $lastarg" 2023 + continue 2024 + ;; 2025 + 2026 + *) 2027 + # Accept the current argument as the source file. 2028 + # The previous "srcfile" becomes the current argument. 2029 + # 2030 + lastarg="$srcfile" 2031 + srcfile="$arg" 2032 + ;; 2033 + esac # case $arg 2034 + ;; 2035 + esac # case $arg_mode 2036 + 2037 + # Aesthetically quote the previous argument. 2038 + func_append_quoted base_compile "$lastarg" 2039 + done # for arg 2040 + 2041 + case $arg_mode in 2042 + arg) 2043 + func_fatal_error "you must specify an argument for -Xcompile" 2044 + ;; 2045 + target) 2046 + func_fatal_error "you must specify a target with \`-o'" 2047 + ;; 2048 + *) 2049 + # Get the name of the library object. 2050 + test -z "$libobj" && { 2051 + func_basename "$srcfile" 2052 + libobj="$func_basename_result" 2053 + } 2054 + ;; 2055 + esac 2056 + 2057 + # Recognize several different file suffixes. 2058 + # If the user specifies -o file.o, it is replaced with file.lo 2059 + case $libobj in 2060 + *.[cCFSifmso] | \ 2061 + *.ada | *.adb | *.ads | *.asm | \ 2062 + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ 2063 + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) 2064 + func_xform "$libobj" 2065 + libobj=$func_xform_result 2066 + ;; 2067 + esac 2068 + 2069 + case $libobj in 2070 + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; 2071 + *) 2072 + func_fatal_error "cannot determine name of library object from \`$libobj'" 2073 + ;; 2074 + esac 2075 + 2076 + func_infer_tag $base_compile 2077 + 2078 + for arg in $later; do 2079 + case $arg in 2080 + -shared) 2081 + test "$build_libtool_libs" != yes && \ 2082 + func_fatal_configuration "can not build a shared library" 2083 + build_old_libs=no 2084 + continue 2085 + ;; 2086 + 2087 + -static) 2088 + build_libtool_libs=no 2089 + build_old_libs=yes 2090 + continue 2091 + ;; 2092 + 2093 + -prefer-pic) 2094 + pic_mode=yes 2095 + continue 2096 + ;; 2097 + 2098 + -prefer-non-pic) 2099 + pic_mode=no 2100 + continue 2101 + ;; 2102 + esac 2103 + done 2104 + 2105 + func_quote_for_eval "$libobj" 2106 + test "X$libobj" != "X$func_quote_for_eval_result" \ 2107 + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ 2108 + && func_warning "libobj name \`$libobj' may not contain shell special characters." 2109 + func_dirname_and_basename "$obj" "/" "" 2110 + objname="$func_basename_result" 2111 + xdir="$func_dirname_result" 2112 + lobj=${xdir}$objdir/$objname 2113 + 2114 + test -z "$base_compile" && \ 2115 + func_fatal_help "you must specify a compilation command" 2116 + 2117 + # Delete any leftover library objects. 2118 + if test "$build_old_libs" = yes; then 2119 + removelist="$obj $lobj $libobj ${libobj}T" 2120 + else 2121 + removelist="$lobj $libobj ${libobj}T" 2122 + fi 2123 + 2124 + # On Cygwin there's no "real" PIC flag so we must build both object types 2125 + case $host_os in 2126 + cygwin* | mingw* | pw32* | os2* | cegcc*) 2127 + pic_mode=default 2128 + ;; 2129 + esac 2130 + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then 2131 + # non-PIC code in shared libraries is not supported 2132 + pic_mode=default 2133 + fi 2134 + 2135 + # Calculate the filename of the output object if compiler does 2136 + # not support -o with -c 2137 + if test "$compiler_c_o" = no; then 2138 + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} 2139 + lockfile="$output_obj.lock" 2140 + else 2141 + output_obj= 2142 + need_locks=no 2143 + lockfile= 2144 + fi 2145 + 2146 + # Lock this critical section if it is needed 2147 + # We use this script file to make the link, it avoids creating a new file 2148 + if test "$need_locks" = yes; then 2149 + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do 2150 + func_echo "Waiting for $lockfile to be removed" 2151 + sleep 2 2152 + done 2153 + elif test "$need_locks" = warn; then 2154 + if test -f "$lockfile"; then 2155 + $ECHO "\ 2156 +*** ERROR, $lockfile exists and contains: 2157 +`cat $lockfile 2>/dev/null` 2158 + 2159 +This indicates that another process is trying to use the same 2160 +temporary object file, and libtool could not work around it because 2161 +your compiler does not support \`-c' and \`-o' together. If you 2162 +repeat this compilation, it may succeed, by chance, but you had better 2163 +avoid parallel builds (make -j) in this platform, or get a better 2164 +compiler." 2165 + 2166 + $opt_dry_run || $RM $removelist 2167 + exit $EXIT_FAILURE 2168 + fi 2169 + func_append removelist " $output_obj" 2170 + $ECHO "$srcfile" > "$lockfile" 2171 + fi 2172 + 2173 + $opt_dry_run || $RM $removelist 2174 + func_append removelist " $lockfile" 2175 + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 2176 + 2177 + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 2178 + srcfile=$func_to_tool_file_result 2179 + func_quote_for_eval "$srcfile" 2180 + qsrcfile=$func_quote_for_eval_result 2181 + 2182 + # Only build a PIC object if we are building libtool libraries. 2183 + if test "$build_libtool_libs" = yes; then 2184 + # Without this assignment, base_compile gets emptied. 2185 + fbsd_hideous_sh_bug=$base_compile 2186 + 2187 + if test "$pic_mode" != no; then 2188 + command="$base_compile $qsrcfile $pic_flag" 2189 + else 2190 + # Don't build PIC code 2191 + command="$base_compile $qsrcfile" 2192 + fi 2193 + 2194 + func_mkdir_p "$xdir$objdir" 2195 + 2196 + if test -z "$output_obj"; then 2197 + # Place PIC objects in $objdir 2198 + func_append command " -o $lobj" 2199 + fi 2200 + 2201 + func_show_eval_locale "$command" \ 2202 + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' 2203 + 2204 + if test "$need_locks" = warn && 2205 + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then 2206 + $ECHO "\ 2207 +*** ERROR, $lockfile contains: 2208 +`cat $lockfile 2>/dev/null` 2209 + 2210 +but it should contain: 2211 +$srcfile 2212 + 2213 +This indicates that another process is trying to use the same 2214 +temporary object file, and libtool could not work around it because 2215 +your compiler does not support \`-c' and \`-o' together. If you 2216 +repeat this compilation, it may succeed, by chance, but you had better 2217 +avoid parallel builds (make -j) in this platform, or get a better 2218 +compiler." 2219 + 2220 + $opt_dry_run || $RM $removelist 2221 + exit $EXIT_FAILURE 2222 + fi 2223 + 2224 + # Just move the object if needed, then go on to compile the next one 2225 + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then 2226 + func_show_eval '$MV "$output_obj" "$lobj"' \ 2227 + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' 2228 + fi 2229 + 2230 + # Allow error messages only from the first compilation. 2231 + if test "$suppress_opt" = yes; then 2232 + suppress_output=' >/dev/null 2>&1' 2233 + fi 2234 + fi 2235 + 2236 + # Only build a position-dependent object if we build old libraries. 2237 + if test "$build_old_libs" = yes; then 2238 + if test "$pic_mode" != yes; then 2239 + # Don't build PIC code 2240 + command="$base_compile $qsrcfile$pie_flag" 2241 + else 2242 + command="$base_compile $qsrcfile $pic_flag" 2243 + fi 2244 + if test "$compiler_c_o" = yes; then 2245 + func_append command " -o $obj" 2246 + fi 2247 + 2248 + # Suppress compiler output if we already did a PIC compilation. 2249 + func_append command "$suppress_output" 2250 + func_show_eval_locale "$command" \ 2251 + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 2252 + 2253 + if test "$need_locks" = warn && 2254 + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then 2255 + $ECHO "\ 2256 +*** ERROR, $lockfile contains: 2257 +`cat $lockfile 2>/dev/null` 2258 + 2259 +but it should contain: 2260 +$srcfile 2261 + 2262 +This indicates that another process is trying to use the same 2263 +temporary object file, and libtool could not work around it because 2264 +your compiler does not support \`-c' and \`-o' together. If you 2265 +repeat this compilation, it may succeed, by chance, but you had better 2266 +avoid parallel builds (make -j) in this platform, or get a better 2267 +compiler." 2268 + 2269 + $opt_dry_run || $RM $removelist 2270 + exit $EXIT_FAILURE 2271 + fi 2272 + 2273 + # Just move the object if needed 2274 + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then 2275 + func_show_eval '$MV "$output_obj" "$obj"' \ 2276 + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' 2277 + fi 2278 + fi 2279 + 2280 + $opt_dry_run || { 2281 + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" 2282 + 2283 + # Unlock the critical section if it was locked 2284 + if test "$need_locks" != no; then 2285 + removelist=$lockfile 2286 + $RM "$lockfile" 2287 + fi 2288 + } 2289 + 2290 + exit $EXIT_SUCCESS 2291 +} 2292 + 2293 +$opt_help || { 2294 + test "$opt_mode" = compile && func_mode_compile ${1+"$@"} 2295 +} 2296 + 2297 +func_mode_help () 2298 +{ 2299 + # We need to display help for each of the modes. 2300 + case $opt_mode in 2301 + "") 2302 + # Generic help is extracted from the usage comments 2303 + # at the start of this file. 2304 + func_help 2305 + ;; 2306 + 2307 + clean) 2308 + $ECHO \ 2309 +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... 2310 + 2311 +Remove files from the build directory. 2312 + 2313 +RM is the name of the program to use to delete files associated with each FILE 2314 +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed 2315 +to RM. 2316 + 2317 +If FILE is a libtool library, object or program, all the files associated 2318 +with it are deleted. Otherwise, only FILE itself is deleted using RM." 2319 + ;; 2320 + 2321 + compile) 2322 + $ECHO \ 2323 +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE 2324 + 2325 +Compile a source file into a libtool library object. 2326 + 2327 +This mode accepts the following additional options: 2328 + 2329 + -o OUTPUT-FILE set the output file name to OUTPUT-FILE 2330 + -no-suppress do not suppress compiler output for multiple passes 2331 + -prefer-pic try to build PIC objects only 2332 + -prefer-non-pic try to build non-PIC objects only 2333 + -shared do not build a \`.o' file suitable for static linking 2334 + -static only build a \`.o' file suitable for static linking 2335 + -Wc,FLAG pass FLAG directly to the compiler 2336 + 2337 +COMPILE-COMMAND is a command to be used in creating a \`standard' object file 2338 +from the given SOURCEFILE. 2339 + 2340 +The output file name is determined by removing the directory component from 2341 +SOURCEFILE, then substituting the C source code suffix \`.c' with the 2342 +library object suffix, \`.lo'." 2343 + ;; 2344 + 2345 + execute) 2346 + $ECHO \ 2347 +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... 2348 + 2349 +Automatically set library path, then run a program. 2350 + 2351 +This mode accepts the following additional options: 2352 + 2353 + -dlopen FILE add the directory containing FILE to the library path 2354 + 2355 +This mode sets the library path environment variable according to \`-dlopen' 2356 +flags. 2357 + 2358 +If any of the ARGS are libtool executable wrappers, then they are translated 2359 +into their corresponding uninstalled binary, and any of their required library 2360 +directories are added to the library path. 2361 + 2362 +Then, COMMAND is executed, with ARGS as arguments." 2363 + ;; 2364 + 2365 + finish) 2366 + $ECHO \ 2367 +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... 2368 + 2369 +Complete the installation of libtool libraries. 2370 + 2371 +Each LIBDIR is a directory that contains libtool libraries. 2372 + 2373 +The commands that this mode executes may require superuser privileges. Use 2374 +the \`--dry-run' option if you just want to see what would be executed." 2375 + ;; 2376 + 2377 + install) 2378 + $ECHO \ 2379 +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... 2380 + 2381 +Install executables or libraries. 2382 + 2383 +INSTALL-COMMAND is the installation command. The first component should be 2384 +either the \`install' or \`cp' program. 2385 + 2386 +The following components of INSTALL-COMMAND are treated specially: 2387 + 2388 + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation 2389 + 2390 +The rest of the components are interpreted as arguments to that command (only 2391 +BSD-compatible install options are recognized)." 2392 + ;; 2393 + 2394 + link) 2395 + $ECHO \ 2396 +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... 2397 + 2398 +Link object files or libraries together to form another library, or to 2399 +create an executable program. 2400 + 2401 +LINK-COMMAND is a command using the C compiler that you would use to create 2402 +a program from several object files. 2403 + 2404 +The following components of LINK-COMMAND are treated specially: 2405 + 2406 + -all-static do not do any dynamic linking at all 2407 + -avoid-version do not add a version suffix if possible 2408 + -bindir BINDIR specify path to binaries directory (for systems where 2409 + libraries must be found in the PATH setting at runtime) 2410 + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime 2411 + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols 2412 + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) 2413 + -export-symbols SYMFILE 2414 + try to export only the symbols listed in SYMFILE 2415 + -export-symbols-regex REGEX 2416 + try to export only the symbols matching REGEX 2417 + -LLIBDIR search LIBDIR for required installed libraries 2418 + -lNAME OUTPUT-FILE requires the installed library libNAME 2419 + -module build a library that can dlopened 2420 + -no-fast-install disable the fast-install mode 2421 + -no-install link a not-installable executable 2422 + -no-undefined declare that a library does not refer to external symbols 2423 + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects 2424 + -objectlist FILE Use a list of object files found in FILE to specify objects 2425 + -precious-files-regex REGEX 2426 + don't remove output files matching REGEX 2427 + -release RELEASE specify package release information 2428 + -rpath LIBDIR the created library will eventually be installed in LIBDIR 2429 + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries 2430 + -shared only do dynamic linking of libtool libraries 2431 + -shrext SUFFIX override the standard shared library file extension 2432 + -static do not do any dynamic linking of uninstalled libtool libraries 2433 + -static-libtool-libs 2434 + do not do any dynamic linking of libtool libraries 2435 + -version-info CURRENT[:REVISION[:AGE]] 2436 + specify library version info [each variable defaults to 0] 2437 + -weak LIBNAME declare that the target provides the LIBNAME interface 2438 + -Wc,FLAG 2439 + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler 2440 + -Wl,FLAG 2441 + -Xlinker FLAG pass linker-specific FLAG directly to the linker 2442 + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) 2443 + 2444 +All other options (arguments beginning with \`-') are ignored. 2445 + 2446 +Every other argument is treated as a filename. Files ending in \`.la' are 2447 +treated as uninstalled libtool libraries, other files are standard or library 2448 +object files. 2449 + 2450 +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, 2451 +only library objects (\`.lo' files) may be specified, and \`-rpath' is 2452 +required, except when creating a convenience library. 2453 + 2454 +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created 2455 +using \`ar' and \`ranlib', or on Windows using \`lib'. 2456 + 2457 +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file 2458 +is created, otherwise an executable program is created." 2459 + ;; 2460 + 2461 + uninstall) 2462 + $ECHO \ 2463 +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... 2464 + 2465 +Remove libraries from an installation directory. 2466 + 2467 +RM is the name of the program to use to delete files associated with each FILE 2468 +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed 2469 +to RM. 2470 + 2471 +If FILE is a libtool library, all the files associated with it are deleted. 2472 +Otherwise, only FILE itself is deleted using RM." 2473 + ;; 2474 + 2475 + *) 2476 + func_fatal_help "invalid operation mode \`$opt_mode'" 2477 + ;; 2478 + esac 2479 + 2480 + echo 2481 + $ECHO "Try \`$progname --help' for more information about other modes." 2482 +} 2483 + 2484 +# Now that we've collected a possible --mode arg, show help if necessary 2485 +if $opt_help; then 2486 + if test "$opt_help" = :; then 2487 + func_mode_help 2488 + else 2489 + { 2490 + func_help noexit 2491 + for opt_mode in compile link execute install finish uninstall clean; do 2492 + func_mode_help 2493 + done 2494 + } | sed -n '1p; 2,$s/^Usage:/ or: /p' 2495 + { 2496 + func_help noexit 2497 + for opt_mode in compile link execute install finish uninstall clean; do 2498 + echo 2499 + func_mode_help 2500 + done 2501 + } | 2502 + sed '1d 2503 + /^When reporting/,/^Report/{ 2504 + H 2505 + d 2506 + } 2507 + $x 2508 + /information about other modes/d 2509 + /more detailed .*MODE/d 2510 + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' 2511 + fi 2512 + exit $? 2513 +fi 2514 + 2515 + 2516 +# func_mode_execute arg... 2517 +func_mode_execute () 2518 +{ 2519 + $opt_debug 2520 + # The first argument is the command name. 2521 + cmd="$nonopt" 2522 + test -z "$cmd" && \ 2523 + func_fatal_help "you must specify a COMMAND" 2524 + 2525 + # Handle -dlopen flags immediately. 2526 + for file in $opt_dlopen; do 2527 + test -f "$file" \ 2528 + || func_fatal_help "\`$file' is not a file" 2529 + 2530 + dir= 2531 + case $file in 2532 + *.la) 2533 + func_resolve_sysroot "$file" 2534 + file=$func_resolve_sysroot_result 2535 + 2536 + # Check to see that this really is a libtool archive. 2537 + func_lalib_unsafe_p "$file" \ 2538 + || func_fatal_help "\`$lib' is not a valid libtool archive" 2539 + 2540 + # Read the libtool library. 2541 + dlname= 2542 + library_names= 2543 + func_source "$file" 2544 + 2545 + # Skip this library if it cannot be dlopened. 2546 + if test -z "$dlname"; then 2547 + # Warn if it was a shared library. 2548 + test -n "$library_names" && \ 2549 + func_warning "\`$file' was not linked with \`-export-dynamic'" 2550 + continue 2551 + fi 2552 + 2553 + func_dirname "$file" "" "." 2554 + dir="$func_dirname_result" 2555 + 2556 + if test -f "$dir/$objdir/$dlname"; then 2557 + func_append dir "/$objdir" 2558 + else 2559 + if test ! -f "$dir/$dlname"; then 2560 + func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 2561 + fi 2562 + fi 2563 + ;; 2564 + 2565 + *.lo) 2566 + # Just add the directory containing the .lo file. 2567 + func_dirname "$file" "" "." 2568 + dir="$func_dirname_result" 2569 + ;; 2570 + 2571 + *) 2572 + func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" 2573 + continue 2574 + ;; 2575 + esac 2576 + 2577 + # Get the absolute pathname. 2578 + absdir=`cd "$dir" && pwd` 2579 + test -n "$absdir" && dir="$absdir" 2580 + 2581 + # Now add the directory to shlibpath_var. 2582 + if eval "test -z \"\$$shlibpath_var\""; then 2583 + eval "$shlibpath_var=\"\$dir\"" 2584 + else 2585 + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" 2586 + fi 2587 + done 2588 + 2589 + # This variable tells wrapper scripts just to set shlibpath_var 2590 + # rather than running their programs. 2591 + libtool_execute_magic="$magic" 2592 + 2593 + # Check if any of the arguments is a wrapper script. 2594 + args= 2595 + for file 2596 + do 2597 + case $file in 2598 + -* | *.la | *.lo ) ;; 2599 + *) 2600 + # Do a test to see if this is really a libtool program. 2601 + if func_ltwrapper_script_p "$file"; then 2602 + func_source "$file" 2603 + # Transform arg to wrapped name. 2604 + file="$progdir/$program" 2605 + elif func_ltwrapper_executable_p "$file"; then 2606 + func_ltwrapper_scriptname "$file" 2607 + func_source "$func_ltwrapper_scriptname_result" 2608 + # Transform arg to wrapped name. 2609 + file="$progdir/$program" 2610 + fi 2611 + ;; 2612 + esac 2613 + # Quote arguments (to preserve shell metacharacters). 2614 + func_append_quoted args "$file" 2615 + done 2616 + 2617 + if test "X$opt_dry_run" = Xfalse; then 2618 + if test -n "$shlibpath_var"; then 2619 + # Export the shlibpath_var. 2620 + eval "export $shlibpath_var" 2621 + fi 2622 + 2623 + # Restore saved environment variables 2624 + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES 2625 + do 2626 + eval "if test \"\${save_$lt_var+set}\" = set; then 2627 + $lt_var=\$save_$lt_var; export $lt_var 2628 + else 2629 + $lt_unset $lt_var 2630 + fi" 2631 + done 2632 + 2633 + # Now prepare to actually exec the command. 2634 + exec_cmd="\$cmd$args" 2635 + else 2636 + # Display what would be done. 2637 + if test -n "$shlibpath_var"; then 2638 + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" 2639 + echo "export $shlibpath_var" 2640 + fi 2641 + $ECHO "$cmd$args" 2642 + exit $EXIT_SUCCESS 2643 + fi 2644 +} 2645 + 2646 +test "$opt_mode" = execute && func_mode_execute ${1+"$@"} 2647 + 2648 + 2649 +# func_mode_finish arg... 2650 +func_mode_finish () 2651 +{ 2652 + $opt_debug 2653 + libs= 2654 + libdirs= 2655 + admincmds= 2656 + 2657 + for opt in "$nonopt" ${1+"$@"} 2658 + do 2659 + if test -d "$opt"; then 2660 + func_append libdirs " $opt" 2661 + 2662 + elif test -f "$opt"; then 2663 + if func_lalib_unsafe_p "$opt"; then 2664 + func_append libs " $opt" 2665 + else 2666 + func_warning "\`$opt' is not a valid libtool archive" 2667 + fi 2668 + 2669 + else 2670 + func_fatal_error "invalid argument \`$opt'" 2671 + fi 2672 + done 2673 + 2674 + if test -n "$libs"; then 2675 + if test -n "$lt_sysroot"; then 2676 + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` 2677 + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" 2678 + else 2679 + sysroot_cmd= 2680 + fi 2681 + 2682 + # Remove sysroot references 2683 + if $opt_dry_run; then 2684 + for lib in $libs; do 2685 + echo "removing references to $lt_sysroot and \`=' prefixes from $lib" 2686 + done 2687 + else 2688 + tmpdir=`func_mktempdir` 2689 + for lib in $libs; do 2690 + sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ 2691 + > $tmpdir/tmp-la 2692 + mv -f $tmpdir/tmp-la $lib 2693 + done 2694 + ${RM}r "$tmpdir" 2695 + fi 2696 + fi 2697 + 2698 + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then 2699 + for libdir in $libdirs; do 2700 + if test -n "$finish_cmds"; then 2701 + # Do each command in the finish commands. 2702 + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds 2703 +'"$cmd"'"' 2704 + fi 2705 + if test -n "$finish_eval"; then 2706 + # Do the single finish_eval. 2707 + eval cmds=\"$finish_eval\" 2708 + $opt_dry_run || eval "$cmds" || func_append admincmds " 2709 + $cmds" 2710 + fi 2711 + done 2712 + fi 2713 + 2714 + # Exit here if they wanted silent mode. 2715 + $opt_silent && exit $EXIT_SUCCESS 2716 + 2717 + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then 2718 + echo "----------------------------------------------------------------------" 2719 + echo "Libraries have been installed in:" 2720 + for libdir in $libdirs; do 2721 + $ECHO " $libdir" 2722 + done 2723 + echo 2724 + echo "If you ever happen to want to link against installed libraries" 2725 + echo "in a given directory, LIBDIR, you must either use libtool, and" 2726 + echo "specify the full pathname of the library, or use the \`-LLIBDIR'" 2727 + echo "flag during linking and do at least one of the following:" 2728 + if test -n "$shlibpath_var"; then 2729 + echo " - add LIBDIR to the \`$shlibpath_var' environment variable" 2730 + echo " during execution" 2731 + fi 2732 + if test -n "$runpath_var"; then 2733 + echo " - add LIBDIR to the \`$runpath_var' environment variable" 2734 + echo " during linking" 2735 + fi 2736 + if test -n "$hardcode_libdir_flag_spec"; then 2737 + libdir=LIBDIR 2738 + eval flag=\"$hardcode_libdir_flag_spec\" 2739 + 2740 + $ECHO " - use the \`$flag' linker flag" 2741 + fi 2742 + if test -n "$admincmds"; then 2743 + $ECHO " - have your system administrator run these commands:$admincmds" 2744 + fi 2745 + if test -f /etc/ld.so.conf; then 2746 + echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" 2747 + fi 2748 + echo 2749 + 2750 + echo "See any operating system documentation about shared libraries for" 2751 + case $host in 2752 + solaris2.[6789]|solaris2.1[0-9]) 2753 + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" 2754 + echo "pages." 2755 + ;; 2756 + *) 2757 + echo "more information, such as the ld(1) and ld.so(8) manual pages." 2758 + ;; 2759 + esac 2760 + echo "----------------------------------------------------------------------" 2761 + fi 2762 + exit $EXIT_SUCCESS 2763 +} 2764 + 2765 +test "$opt_mode" = finish && func_mode_finish ${1+"$@"} 2766 + 2767 + 2768 +# func_mode_install arg... 2769 +func_mode_install () 2770 +{ 2771 + $opt_debug 2772 + # There may be an optional sh(1) argument at the beginning of 2773 + # install_prog (especially on Windows NT). 2774 + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || 2775 + # Allow the use of GNU shtool's install command. 2776 + case $nonopt in *shtool*) :;; *) false;; esac; then 2777 + # Aesthetically quote it. 2778 + func_quote_for_eval "$nonopt" 2779 + install_prog="$func_quote_for_eval_result " 2780 + arg=$1 2781 + shift 2782 + else 2783 + install_prog= 2784 + arg=$nonopt 2785 + fi 2786 + 2787 + # The real first argument should be the name of the installation program. 2788 + # Aesthetically quote it. 2789 + func_quote_for_eval "$arg" 2790 + func_append install_prog "$func_quote_for_eval_result" 2791 + install_shared_prog=$install_prog 2792 + case " $install_prog " in 2793 + *[\\\ /]cp\ *) install_cp=: ;; 2794 + *) install_cp=false ;; 2795 + esac 2796 + 2797 + # We need to accept at least all the BSD install flags. 2798 + dest= 2799 + files= 2800 + opts= 2801 + prev= 2802 + install_type= 2803 + isdir=no 2804 + stripme= 2805 + no_mode=: 2806 + for arg 2807 + do 2808 + arg2= 2809 + if test -n "$dest"; then 2810 + func_append files " $dest" 2811 + dest=$arg 2812 + continue 2813 + fi 2814 + 2815 + case $arg in 2816 + -d) isdir=yes ;; 2817 + -f) 2818 + if $install_cp; then :; else 2819 + prev=$arg 2820 + fi 2821 + ;; 2822 + -g | -m | -o) 2823 + prev=$arg 2824 + ;; 2825 + -s) 2826 + stripme=" -s" 2827 + continue 2828 + ;; 2829 + -*) 2830 + ;; 2831 + *) 2832 + # If the previous option needed an argument, then skip it. 2833 + if test -n "$prev"; then 2834 + if test "x$prev" = x-m && test -n "$install_override_mode"; then 2835 + arg2=$install_override_mode 2836 + no_mode=false 2837 + fi 2838 + prev= 2839 + else 2840 + dest=$arg 2841 + continue 2842 + fi 2843 + ;; 2844 + esac 2845 + 2846 + # Aesthetically quote the argument. 2847 + func_quote_for_eval "$arg" 2848 + func_append install_prog " $func_quote_for_eval_result" 2849 + if test -n "$arg2"; then 2850 + func_quote_for_eval "$arg2" 2851 + fi 2852 + func_append install_shared_prog " $func_quote_for_eval_result" 2853 + done 2854 + 2855 + test -z "$install_prog" && \ 2856 + func_fatal_help "you must specify an install program" 2857 + 2858 + test -n "$prev" && \ 2859 + func_fatal_help "the \`$prev' option requires an argument" 2860 + 2861 + if test -n "$install_override_mode" && $no_mode; then 2862 + if $install_cp; then :; else 2863 + func_quote_for_eval "$install_override_mode" 2864 + func_append install_shared_prog " -m $func_quote_for_eval_result" 2865 + fi 2866 + fi 2867 + 2868 + if test -z "$files"; then 2869 + if test -z "$dest"; then 2870 + func_fatal_help "no file or destination specified" 2871 + else 2872 + func_fatal_help "you must specify a destination" 2873 + fi 2874 + fi 2875 + 2876 + # Strip any trailing slash from the destination. 2877 + func_stripname '' '/' "$dest" 2878 + dest=$func_stripname_result 2879 + 2880 + # Check to see that the destination is a directory. 2881 + test -d "$dest" && isdir=yes 2882 + if test "$isdir" = yes; then 2883 + destdir="$dest" 2884 + destname= 2885 + else 2886 + func_dirname_and_basename "$dest" "" "." 2887 + destdir="$func_dirname_result" 2888 + destname="$func_basename_result" 2889 + 2890 + # Not a directory, so check to see that there is only one file specified. 2891 + set dummy $files; shift 2892 + test "$#" -gt 1 && \ 2893 + func_fatal_help "\`$dest' is not a directory" 2894 + fi 2895 + case $destdir in 2896 + [\\/]* | [A-Za-z]:[\\/]*) ;; 2897 + *) 2898 + for file in $files; do 2899 + case $file in 2900 + *.lo) ;; 2901 + *) 2902 + func_fatal_help "\`$destdir' must be an absolute directory name" 2903 + ;; 2904 + esac 2905 + done 2906 + ;; 2907 + esac 2908 + 2909 + # This variable tells wrapper scripts just to set variables rather 2910 + # than running their programs. 2911 + libtool_install_magic="$magic" 2912 + 2913 + staticlibs= 2914 + future_libdirs= 2915 + current_libdirs= 2916 + for file in $files; do 2917 + 2918 + # Do each installation. 2919 + case $file in 2920 + *.$libext) 2921 + # Do the static libraries later. 2922 + func_append staticlibs " $file" 2923 + ;; 2924 + 2925 + *.la) 2926 + func_resolve_sysroot "$file" 2927 + file=$func_resolve_sysroot_result 2928 + 2929 + # Check to see that this really is a libtool archive. 2930 + func_lalib_unsafe_p "$file" \ 2931 + || func_fatal_help "\`$file' is not a valid libtool archive" 2932 + 2933 + library_names= 2934 + old_library= 2935 + relink_command= 2936 + func_source "$file" 2937 + 2938 + # Add the libdir to current_libdirs if it is the destination. 2939 + if test "X$destdir" = "X$libdir"; then 2940 + case "$current_libdirs " in 2941 + *" $libdir "*) ;; 2942 + *) func_append current_libdirs " $libdir" ;; 2943 + esac 2944 + else 2945 + # Note the libdir as a future libdir. 2946 + case "$future_libdirs " in 2947 + *" $libdir "*) ;; 2948 + *) func_append future_libdirs " $libdir" ;; 2949 + esac 2950 + fi 2951 + 2952 + func_dirname "$file" "/" "" 2953 + dir="$func_dirname_result" 2954 + func_append dir "$objdir" 2955 + 2956 + if test -n "$relink_command"; then 2957 + # Determine the prefix the user has applied to our future dir. 2958 + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` 2959 + 2960 + # Don't allow the user to place us outside of our expected 2961 + # location b/c this prevents finding dependent libraries that 2962 + # are installed to the same prefix. 2963 + # At present, this check doesn't affect windows .dll's that 2964 + # are installed into $libdir/../bin (currently, that works fine) 2965 + # but it's something to keep an eye on. 2966 + test "$inst_prefix_dir" = "$destdir" && \ 2967 + func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" 2968 + 2969 + if test -n "$inst_prefix_dir"; then 2970 + # Stick the inst_prefix_dir data into the link command. 2971 + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` 2972 + else 2973 + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` 2974 + fi 2975 + 2976 + func_warning "relinking \`$file'" 2977 + func_show_eval "$relink_command" \ 2978 + 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' 2979 + fi 2980 + 2981 + # See the names of the shared library. 2982 + set dummy $library_names; shift 2983 + if test -n "$1"; then 2984 + realname="$1" 2985 + shift 2986 + 2987 + srcname="$realname" 2988 + test -n "$relink_command" && srcname="$realname"T 2989 + 2990 + # Install the shared library and build the symlinks. 2991 + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 2992 + 'exit $?' 2993 + tstripme="$stripme" 2994 + case $host_os in 2995 + cygwin* | mingw* | pw32* | cegcc*) 2996 + case $realname in 2997 + *.dll.a) 2998 + tstripme="" 2999 + ;; 3000 + esac 3001 + ;; 3002 + esac 3003 + if test -n "$tstripme" && test -n "$striplib"; then 3004 + func_show_eval "$striplib $destdir/$realname" 'exit $?' 3005 + fi 3006 + 3007 + if test "$#" -gt 0; then 3008 + # Delete the old symlinks, and create new ones. 3009 + # Try `ln -sf' first, because the `ln' binary might depend on 3010 + # the symlink we replace! Solaris /bin/ln does not understand -f, 3011 + # so we also need to try rm && ln -s. 3012 + for linkname 3013 + do 3014 + test "$linkname" != "$realname" \ 3015 + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" 3016 + done 3017 + fi 3018 + 3019 + # Do each command in the postinstall commands. 3020 + lib="$destdir/$realname" 3021 + func_execute_cmds "$postinstall_cmds" 'exit $?' 3022 + fi 3023 + 3024 + # Install the pseudo-library for information purposes. 3025 + func_basename "$file" 3026 + name="$func_basename_result" 3027 + instname="$dir/$name"i 3028 + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' 3029 + 3030 + # Maybe install the static library, too. 3031 + test -n "$old_library" && func_append staticlibs " $dir/$old_library" 3032 + ;; 3033 + 3034 + *.lo) 3035 + # Install (i.e. copy) a libtool object. 3036 + 3037 + # Figure out destination file name, if it wasn't already specified. 3038 + if test -n "$destname"; then 3039 + destfile="$destdir/$destname" 3040 + else 3041 + func_basename "$file" 3042 + destfile="$func_basename_result" 3043 + destfile="$destdir/$destfile" 3044 + fi 3045 + 3046 + # Deduce the name of the destination old-style object file. 3047 + case $destfile in 3048 + *.lo) 3049 + func_lo2o "$destfile" 3050 + staticdest=$func_lo2o_result 3051 + ;; 3052 + *.$objext) 3053 + staticdest="$destfile" 3054 + destfile= 3055 + ;; 3056 + *) 3057 + func_fatal_help "cannot copy a libtool object to \`$destfile'" 3058 + ;; 3059 + esac 3060 + 3061 + # Install the libtool object if requested. 3062 + test -n "$destfile" && \ 3063 + func_show_eval "$install_prog $file $destfile" 'exit $?' 3064 + 3065 + # Install the old object if enabled. 3066 + if test "$build_old_libs" = yes; then 3067 + # Deduce the name of the old-style object file. 3068 + func_lo2o "$file" 3069 + staticobj=$func_lo2o_result 3070 + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' 3071 + fi 3072 + exit $EXIT_SUCCESS 3073 + ;; 3074 + 3075 + *) 3076 + # Figure out destination file name, if it wasn't already specified. 3077 + if test -n "$destname"; then 3078 + destfile="$destdir/$destname" 3079 + else 3080 + func_basename "$file" 3081 + destfile="$func_basename_result" 3082 + destfile="$destdir/$destfile" 3083 + fi 3084 + 3085 + # If the file is missing, and there is a .exe on the end, strip it 3086 + # because it is most likely a libtool script we actually want to 3087 + # install 3088 + stripped_ext="" 3089 + case $file in 3090 + *.exe) 3091 + if test ! -f "$file"; then 3092 + func_stripname '' '.exe' "$file" 3093 + file=$func_stripname_result 3094 + stripped_ext=".exe" 3095 + fi 3096 + ;; 3097 + esac 3098 + 3099 + # Do a test to see if this is really a libtool program. 3100 + case $host in 3101 + *cygwin* | *mingw*) 3102 + if func_ltwrapper_executable_p "$file"; then 3103 + func_ltwrapper_scriptname "$file" 3104 + wrapper=$func_ltwrapper_scriptname_result 3105 + else 3106 + func_stripname '' '.exe' "$file" 3107 + wrapper=$func_stripname_result 3108 + fi 3109 + ;; 3110 + *) 3111 + wrapper=$file 3112 + ;; 3113 + esac 3114 + if func_ltwrapper_script_p "$wrapper"; then 3115 + notinst_deplibs= 3116 + relink_command= 3117 + 3118 + func_source "$wrapper" 3119 + 3120 + # Check the variables that should have been set. 3121 + test -z "$generated_by_libtool_version" && \ 3122 + func_fatal_error "invalid libtool wrapper script \`$wrapper'" 3123 + 3124 + finalize=yes 3125 + for lib in $notinst_deplibs; do 3126 + # Check to see that each library is installed. 3127 + libdir= 3128 + if test -f "$lib"; then 3129 + func_source "$lib" 3130 + fi 3131 + libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test 3132 + if test -n "$libdir" && test ! -f "$libfile"; then 3133 + func_warning "\`$lib' has not been installed in \`$libdir'" 3134 + finalize=no 3135 + fi 3136 + done 3137 + 3138 + relink_command= 3139 + func_source "$wrapper" 3140 + 3141 + outputname= 3142 + if test "$fast_install" = no && test -n "$relink_command"; then 3143 + $opt_dry_run || { 3144 + if test "$finalize" = yes; then 3145 + tmpdir=`func_mktempdir` 3146 + func_basename "$file$stripped_ext" 3147 + file="$func_basename_result" 3148 + outputname="$tmpdir/$file" 3149 + # Replace the output file specification. 3150 + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` 3151 + 3152 + $opt_silent || { 3153 + func_quote_for_expand "$relink_command" 3154 + eval "func_echo $func_quote_for_expand_result" 3155 + } 3156 + if eval "$relink_command"; then : 3157 + else 3158 + func_error "error: relink \`$file' with the above command before installing it" 3159 + $opt_dry_run || ${RM}r "$tmpdir" 3160 + continue 3161 + fi 3162 + file="$outputname" 3163 + else 3164 + func_warning "cannot relink \`$file'" 3165 + fi 3166 + } 3167 + else 3168 + # Install the binary that we compiled earlier. 3169 + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` 3170 + fi 3171 + fi 3172 + 3173 + # remove .exe since cygwin /usr/bin/install will append another 3174 + # one anyway 3175 + case $install_prog,$host in 3176 + */usr/bin/install*,*cygwin*) 3177 + case $file:$destfile in 3178 + *.exe:*.exe) 3179 + # this is ok 3180 + ;; 3181 + *.exe:*) 3182 + destfile=$destfile.exe 3183 + ;; 3184 + *:*.exe) 3185 + func_stripname '' '.exe' "$destfile" 3186 + destfile=$func_stripname_result 3187 + ;; 3188 + esac 3189 + ;; 3190 + esac 3191 + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' 3192 + $opt_dry_run || if test -n "$outputname"; then 3193 + ${RM}r "$tmpdir" 3194 + fi 3195 + ;; 3196 + esac 3197 + done 3198 + 3199 + for file in $staticlibs; do 3200 + func_basename "$file" 3201 + name="$func_basename_result" 3202 + 3203 + # Set up the ranlib parameters. 3204 + oldlib="$destdir/$name" 3205 + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 3206 + tool_oldlib=$func_to_tool_file_result 3207 + 3208 + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' 3209 + 3210 + if test -n "$stripme" && test -n "$old_striplib"; then 3211 + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' 3212 + fi 3213 + 3214 + # Do each command in the postinstall commands. 3215 + func_execute_cmds "$old_postinstall_cmds" 'exit $?' 3216 + done 3217 + 3218 + test -n "$future_libdirs" && \ 3219 + func_warning "remember to run \`$progname --finish$future_libdirs'" 3220 + 3221 + if test -n "$current_libdirs"; then 3222 + # Maybe just do a dry run. 3223 + $opt_dry_run && current_libdirs=" -n$current_libdirs" 3224 + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' 3225 + else 3226 + exit $EXIT_SUCCESS 3227 + fi 3228 +} 3229 + 3230 +test "$opt_mode" = install && func_mode_install ${1+"$@"} 3231 + 3232 + 3233 +# func_generate_dlsyms outputname originator pic_p 3234 +# Extract symbols from dlprefiles and create ${outputname}S.o with 3235 +# a dlpreopen symbol table. 3236 +func_generate_dlsyms () 3237 +{ 3238 + $opt_debug 3239 + my_outputname="$1" 3240 + my_originator="$2" 3241 + my_pic_p="${3-no}" 3242 + my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` 3243 + my_dlsyms= 3244 + 3245 + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then 3246 + if test -n "$NM" && test -n "$global_symbol_pipe"; then 3247 + my_dlsyms="${my_outputname}S.c" 3248 + else 3249 + func_error "not configured to extract global symbols from dlpreopened files" 3250 + fi 3251 + fi 3252 + 3253 + if test -n "$my_dlsyms"; then 3254 + case $my_dlsyms in 3255 + "") ;; 3256 + *.c) 3257 + # Discover the nlist of each of the dlfiles. 3258 + nlist="$output_objdir/${my_outputname}.nm" 3259 + 3260 + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" 3261 + 3262 + # Parse the name list into a source file. 3263 + func_verbose "creating $output_objdir/$my_dlsyms" 3264 + 3265 + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ 3266 +/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ 3267 +/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ 3268 + 3269 +#ifdef __cplusplus 3270 +extern \"C\" { 3271 +#endif 3272 + 3273 +#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) 3274 +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" 3275 +#endif 3276 + 3277 +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 3278 +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) 3279 +/* DATA imports from DLLs on WIN32 con't be const, because runtime 3280 + relocations are performed -- see ld's documentation on pseudo-relocs. */ 3281 +# define LT_DLSYM_CONST 3282 +#elif defined(__osf__) 3283 +/* This system does not cope well with relocations in const data. */ 3284 +# define LT_DLSYM_CONST 3285 +#else 3286 +# define LT_DLSYM_CONST const 3287 +#endif 3288 + 3289 +/* External symbol declarations for the compiler. */\ 3290 +" 3291 + 3292 + if test "$dlself" = yes; then 3293 + func_verbose "generating symbol list for \`$output'" 3294 + 3295 + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" 3296 + 3297 + # Add our own program objects to the symbol list. 3298 + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` 3299 + for progfile in $progfiles; do 3300 + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 3301 + func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" 3302 + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" 3303 + done 3304 + 3305 + if test -n "$exclude_expsyms"; then 3306 + $opt_dry_run || { 3307 + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' 3308 + eval '$MV "$nlist"T "$nlist"' 3309 + } 3310 + fi 3311 + 3312 + if test -n "$export_symbols_regex"; then 3313 + $opt_dry_run || { 3314 + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' 3315 + eval '$MV "$nlist"T "$nlist"' 3316 + } 3317 + fi 3318 + 3319 + # Prepare the list of exported symbols 3320 + if test -z "$export_symbols"; then 3321 + export_symbols="$output_objdir/$outputname.exp" 3322 + $opt_dry_run || { 3323 + $RM $export_symbols 3324 + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' 3325 + case $host in 3326 + *cygwin* | *mingw* | *cegcc* ) 3327 + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' 3328 + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' 3329 + ;; 3330 + esac 3331 + } 3332 + else 3333 + $opt_dry_run || { 3334 + eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' 3335 + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' 3336 + eval '$MV "$nlist"T "$nlist"' 3337 + case $host in 3338 + *cygwin* | *mingw* | *cegcc* ) 3339 + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' 3340 + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' 3341 + ;; 3342 + esac 3343 + } 3344 + fi 3345 + fi 3346 + 3347 + for dlprefile in $dlprefiles; do 3348 + func_verbose "extracting global C symbols from \`$dlprefile'" 3349 + func_basename "$dlprefile" 3350 + name="$func_basename_result" 3351 + case $host in 3352 + *cygwin* | *mingw* | *cegcc* ) 3353 + # if an import library, we need to obtain dlname 3354 + if func_win32_import_lib_p "$dlprefile"; then 3355 + func_tr_sh "$dlprefile" 3356 + eval "curr_lafile=\$libfile_$func_tr_sh_result" 3357 + dlprefile_dlbasename="" 3358 + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then 3359 + # Use subshell, to avoid clobbering current variable values 3360 + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` 3361 + if test -n "$dlprefile_dlname" ; then 3362 + func_basename "$dlprefile_dlname" 3363 + dlprefile_dlbasename="$func_basename_result" 3364 + else 3365 + # no lafile. user explicitly requested -dlpreopen <import library>. 3366 + $sharedlib_from_linklib_cmd "$dlprefile" 3367 + dlprefile_dlbasename=$sharedlib_from_linklib_result 3368 + fi 3369 + fi 3370 + $opt_dry_run || { 3371 + if test -n "$dlprefile_dlbasename" ; then 3372 + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' 3373 + else 3374 + func_warning "Could not compute DLL name from $name" 3375 + eval '$ECHO ": $name " >> "$nlist"' 3376 + fi 3377 + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 3378 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | 3379 + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" 3380 + } 3381 + else # not an import lib 3382 + $opt_dry_run || { 3383 + eval '$ECHO ": $name " >> "$nlist"' 3384 + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 3385 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" 3386 + } 3387 + fi 3388 + ;; 3389 + *) 3390 + $opt_dry_run || { 3391 + eval '$ECHO ": $name " >> "$nlist"' 3392 + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 3393 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" 3394 + } 3395 + ;; 3396 + esac 3397 + done 3398 + 3399 + $opt_dry_run || { 3400 + # Make sure we have at least an empty file. 3401 + test -f "$nlist" || : > "$nlist" 3402 + 3403 + if test -n "$exclude_expsyms"; then 3404 + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T 3405 + $MV "$nlist"T "$nlist" 3406 + fi 3407 + 3408 + # Try sorting and uniquifying the output. 3409 + if $GREP -v "^: " < "$nlist" | 3410 + if sort -k 3 </dev/null >/dev/null 2>&1; then 3411 + sort -k 3 3412 + else 3413 + sort +2 3414 + fi | 3415 + uniq > "$nlist"S; then 3416 + : 3417 + else 3418 + $GREP -v "^: " < "$nlist" > "$nlist"S 3419 + fi 3420 + 3421 + if test -f "$nlist"S; then 3422 + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' 3423 + else 3424 + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" 3425 + fi 3426 + 3427 + echo >> "$output_objdir/$my_dlsyms" "\ 3428 + 3429 +/* The mapping between symbol names and symbols. */ 3430 +typedef struct { 3431 + const char *name; 3432 + void *address; 3433 +} lt_dlsymlist; 3434 +extern LT_DLSYM_CONST lt_dlsymlist 3435 +lt_${my_prefix}_LTX_preloaded_symbols[]; 3436 +LT_DLSYM_CONST lt_dlsymlist 3437 +lt_${my_prefix}_LTX_preloaded_symbols[] = 3438 +{\ 3439 + { \"$my_originator\", (void *) 0 }," 3440 + 3441 + case $need_lib_prefix in 3442 + no) 3443 + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" 3444 + ;; 3445 + *) 3446 + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" 3447 + ;; 3448 + esac 3449 + echo >> "$output_objdir/$my_dlsyms" "\ 3450 + {0, (void *) 0} 3451 +}; 3452 + 3453 +/* This works around a problem in FreeBSD linker */ 3454 +#ifdef FREEBSD_WORKAROUND 3455 +static const void *lt_preloaded_setup() { 3456 + return lt_${my_prefix}_LTX_preloaded_symbols; 3457 +} 3458 +#endif 3459 + 3460 +#ifdef __cplusplus 3461 +} 3462 +#endif\ 3463 +" 3464 + } # !$opt_dry_run 3465 + 3466 + pic_flag_for_symtable= 3467 + case "$compile_command " in 3468 + *" -static "*) ;; 3469 + *) 3470 + case $host in 3471 + # compiling the symbol table file with pic_flag works around 3472 + # a FreeBSD bug that causes programs to crash when -lm is 3473 + # linked before any other PIC object. But we must not use 3474 + # pic_flag when linking with -static. The problem exists in 3475 + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. 3476 + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) 3477 + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; 3478 + *-*-hpux*) 3479 + pic_flag_for_symtable=" $pic_flag" ;; 3480 + *) 3481 + if test "X$my_pic_p" != Xno; then 3482 + pic_flag_for_symtable=" $pic_flag" 3483 + fi 3484 + ;; 3485 + esac 3486 + ;; 3487 + esac 3488 + symtab_cflags= 3489 + for arg in $LTCFLAGS; do 3490 + case $arg in 3491 + -pie | -fpie | -fPIE) ;; 3492 + *) func_append symtab_cflags " $arg" ;; 3493 + esac 3494 + done 3495 + 3496 + # Now compile the dynamic symbol file. 3497 + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' 3498 + 3499 + # Clean up the generated files. 3500 + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' 3501 + 3502 + # Transform the symbol file into the correct name. 3503 + symfileobj="$output_objdir/${my_outputname}S.$objext" 3504 + case $host in 3505 + *cygwin* | *mingw* | *cegcc* ) 3506 + if test -f "$output_objdir/$my_outputname.def"; then 3507 + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` 3508 + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` 3509 + else 3510 + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` 3511 + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` 3512 + fi 3513 + ;; 3514 + *) 3515 + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` 3516 + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` 3517 + ;; 3518 + esac 3519 + ;; 3520 + *) 3521 + func_fatal_error "unknown suffix for \`$my_dlsyms'" 3522 + ;; 3523 + esac 3524 + else 3525 + # We keep going just in case the user didn't refer to 3526 + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe 3527 + # really was required. 3528 + 3529 + # Nullify the symbol file. 3530 + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` 3531 + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` 3532 + fi 3533 +} 3534 + 3535 +# func_win32_libid arg 3536 +# return the library type of file 'arg' 3537 +# 3538 +# Need a lot of goo to handle *both* DLLs and import libs 3539 +# Has to be a shell function in order to 'eat' the argument 3540 +# that is supplied when $file_magic_command is called. 3541 +# Despite the name, also deal with 64 bit binaries. 3542 +func_win32_libid () 3543 +{ 3544 + $opt_debug 3545 + win32_libid_type="unknown" 3546 + win32_fileres=`file -L $1 2>/dev/null` 3547 + case $win32_fileres in 3548 + *ar\ archive\ import\ library*) # definitely import 3549 + win32_libid_type="x86 archive import" 3550 + ;; 3551 + *ar\ archive*) # could be an import, or static 3552 + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. 3553 + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | 3554 + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then 3555 + func_to_tool_file "$1" func_convert_file_msys_to_w32 3556 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | 3557 + $SED -n -e ' 3558 + 1,100{ 3559 + / I /{ 3560 + s,.*,import, 3561 + p 3562 + q 3563 + } 3564 + }'` 3565 + case $win32_nmres in 3566 + import*) win32_libid_type="x86 archive import";; 3567 + *) win32_libid_type="x86 archive static";; 3568 + esac 3569 + fi 3570 + ;; 3571 + *DLL*) 3572 + win32_libid_type="x86 DLL" 3573 + ;; 3574 + *executable*) # but shell scripts are "executable" too... 3575 + case $win32_fileres in 3576 + *MS\ Windows\ PE\ Intel*) 3577 + win32_libid_type="x86 DLL" 3578 + ;; 3579 + esac 3580 + ;; 3581 + esac 3582 + $ECHO "$win32_libid_type" 3583 +} 3584 + 3585 +# func_cygming_dll_for_implib ARG 3586 +# 3587 +# Platform-specific function to extract the 3588 +# name of the DLL associated with the specified 3589 +# import library ARG. 3590 +# Invoked by eval'ing the libtool variable 3591 +# $sharedlib_from_linklib_cmd 3592 +# Result is available in the variable 3593 +# $sharedlib_from_linklib_result 3594 +func_cygming_dll_for_implib () 3595 +{ 3596 + $opt_debug 3597 + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` 3598 +} 3599 + 3600 +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs 3601 +# 3602 +# The is the core of a fallback implementation of a 3603 +# platform-specific function to extract the name of the 3604 +# DLL associated with the specified import library LIBNAME. 3605 +# 3606 +# SECTION_NAME is either .idata$6 or .idata$7, depending 3607 +# on the platform and compiler that created the implib. 3608 +# 3609 +# Echos the name of the DLL associated with the 3610 +# specified import library. 3611 +func_cygming_dll_for_implib_fallback_core () 3612 +{ 3613 + $opt_debug 3614 + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` 3615 + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | 3616 + $SED '/^Contents of section '"$match_literal"':/{ 3617 + # Place marker at beginning of archive member dllname section 3618 + s/.*/====MARK====/ 3619 + p 3620 + d 3621 + } 3622 + # These lines can sometimes be longer than 43 characters, but 3623 + # are always uninteresting 3624 + /:[ ]*file format pe[i]\{,1\}-/d 3625 + /^In archive [^:]*:/d 3626 + # Ensure marker is printed 3627 + /^====MARK====/p 3628 + # Remove all lines with less than 43 characters 3629 + /^.\{43\}/!d 3630 + # From remaining lines, remove first 43 characters 3631 + s/^.\{43\}//' | 3632 + $SED -n ' 3633 + # Join marker and all lines until next marker into a single line 3634 + /^====MARK====/ b para 3635 + H 3636 + $ b para 3637 + b 3638 + :para 3639 + x 3640 + s/\n//g 3641 + # Remove the marker 3642 + s/^====MARK====// 3643 + # Remove trailing dots and whitespace 3644 + s/[\. \t]*$// 3645 + # Print 3646 + /./p' | 3647 + # we now have a list, one entry per line, of the stringified 3648 + # contents of the appropriate section of all members of the 3649 + # archive which possess that section. Heuristic: eliminate 3650 + # all those which have a first or second character that is 3651 + # a '.' (that is, objdump's representation of an unprintable 3652 + # character.) This should work for all archives with less than 3653 + # 0x302f exports -- but will fail for DLLs whose name actually 3654 + # begins with a literal '.' or a single character followed by 3655 + # a '.'. 3656 + # 3657 + # Of those that remain, print the first one. 3658 + $SED -e '/^\./d;/^.\./d;q' 3659 +} 3660 + 3661 +# func_cygming_gnu_implib_p ARG 3662 +# This predicate returns with zero status (TRUE) if 3663 +# ARG is a GNU/binutils-style import library. Returns 3664 +# with nonzero status (FALSE) otherwise. 3665 +func_cygming_gnu_implib_p () 3666 +{ 3667 + $opt_debug 3668 + func_to_tool_file "$1" func_convert_file_msys_to_w32 3669 + 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)$'` 3670 + test -n "$func_cygming_gnu_implib_tmp" 3671 +} 3672 + 3673 +# func_cygming_ms_implib_p ARG 3674 +# This predicate returns with zero status (TRUE) if 3675 +# ARG is an MS-style import library. Returns 3676 +# with nonzero status (FALSE) otherwise. 3677 +func_cygming_ms_implib_p () 3678 +{ 3679 + $opt_debug 3680 + func_to_tool_file "$1" func_convert_file_msys_to_w32 3681 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` 3682 + test -n "$func_cygming_ms_implib_tmp" 3683 +} 3684 + 3685 +# func_cygming_dll_for_implib_fallback ARG 3686 +# Platform-specific function to extract the 3687 +# name of the DLL associated with the specified 3688 +# import library ARG. 3689 +# 3690 +# This fallback implementation is for use when $DLLTOOL 3691 +# does not support the --identify-strict option. 3692 +# Invoked by eval'ing the libtool variable 3693 +# $sharedlib_from_linklib_cmd 3694 +# Result is available in the variable 3695 +# $sharedlib_from_linklib_result 3696 +func_cygming_dll_for_implib_fallback () 3697 +{ 3698 + $opt_debug 3699 + if func_cygming_gnu_implib_p "$1" ; then 3700 + # binutils import library 3701 + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` 3702 + elif func_cygming_ms_implib_p "$1" ; then 3703 + # ms-generated import library 3704 + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` 3705 + else 3706 + # unknown 3707 + sharedlib_from_linklib_result="" 3708 + fi 3709 +} 3710 + 3711 + 3712 +# func_extract_an_archive dir oldlib 3713 +func_extract_an_archive () 3714 +{ 3715 + $opt_debug 3716 + f_ex_an_ar_dir="$1"; shift 3717 + f_ex_an_ar_oldlib="$1" 3718 + if test "$lock_old_archive_extraction" = yes; then 3719 + lockfile=$f_ex_an_ar_oldlib.lock 3720 + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do 3721 + func_echo "Waiting for $lockfile to be removed" 3722 + sleep 2 3723 + done 3724 + fi 3725 + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 3726 + 'stat=$?; rm -f "$lockfile"; exit $stat' 3727 + if test "$lock_old_archive_extraction" = yes; then 3728 + $opt_dry_run || rm -f "$lockfile" 3729 + fi 3730 + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then 3731 + : 3732 + else 3733 + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 3734 + fi 3735 +} 3736 + 3737 + 3738 +# func_extract_archives gentop oldlib ... 3739 +func_extract_archives () 3740 +{ 3741 + $opt_debug 3742 + my_gentop="$1"; shift 3743 + my_oldlibs=${1+"$@"} 3744 + my_oldobjs="" 3745 + my_xlib="" 3746 + my_xabs="" 3747 + my_xdir="" 3748 + 3749 + for my_xlib in $my_oldlibs; do 3750 + # Extract the objects. 3751 + case $my_xlib in 3752 + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; 3753 + *) my_xabs=`pwd`"/$my_xlib" ;; 3754 + esac 3755 + func_basename "$my_xlib" 3756 + my_xlib="$func_basename_result" 3757 + my_xlib_u=$my_xlib 3758 + while :; do 3759 + case " $extracted_archives " in 3760 + *" $my_xlib_u "*) 3761 + func_arith $extracted_serial + 1 3762 + extracted_serial=$func_arith_result 3763 + my_xlib_u=lt$extracted_serial-$my_xlib ;; 3764 + *) break ;; 3765 + esac 3766 + done 3767 + extracted_archives="$extracted_archives $my_xlib_u" 3768 + my_xdir="$my_gentop/$my_xlib_u" 3769 + 3770 + func_mkdir_p "$my_xdir" 3771 + 3772 + case $host in 3773 + *-darwin*) 3774 + func_verbose "Extracting $my_xabs" 3775 + # Do not bother doing anything if just a dry run 3776 + $opt_dry_run || { 3777 + darwin_orig_dir=`pwd` 3778 + cd $my_xdir || exit $? 3779 + darwin_archive=$my_xabs 3780 + darwin_curdir=`pwd` 3781 + darwin_base_archive=`basename "$darwin_archive"` 3782 + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` 3783 + if test -n "$darwin_arches"; then 3784 + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` 3785 + darwin_arch= 3786 + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" 3787 + for darwin_arch in $darwin_arches ; do 3788 + func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" 3789 + $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" 3790 + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" 3791 + func_extract_an_archive "`pwd`" "${darwin_base_archive}" 3792 + cd "$darwin_curdir" 3793 + $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" 3794 + done # $darwin_arches 3795 + ## Okay now we've a bunch of thin objects, gotta fatten them up :) 3796 + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` 3797 + darwin_file= 3798 + darwin_files= 3799 + for darwin_file in $darwin_filelist; do 3800 + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` 3801 + $LIPO -create -output "$darwin_file" $darwin_files 3802 + done # $darwin_filelist 3803 + $RM -rf unfat-$$ 3804 + cd "$darwin_orig_dir" 3805 + else 3806 + cd $darwin_orig_dir 3807 + func_extract_an_archive "$my_xdir" "$my_xabs" 3808 + fi # $darwin_arches 3809 + } # !$opt_dry_run 3810 + ;; 3811 + *) 3812 + func_extract_an_archive "$my_xdir" "$my_xabs" 3813 + ;; 3814 + esac 3815 + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` 3816 + done 3817 + 3818 + func_extract_archives_result="$my_oldobjs" 3819 +} 3820 + 3821 + 3822 +# func_emit_wrapper [arg=no] 3823 +# 3824 +# Emit a libtool wrapper script on stdout. 3825 +# Don't directly open a file because we may want to 3826 +# incorporate the script contents within a cygwin/mingw 3827 +# wrapper executable. Must ONLY be called from within 3828 +# func_mode_link because it depends on a number of variables 3829 +# set therein. 3830 +# 3831 +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR 3832 +# variable will take. If 'yes', then the emitted script 3833 +# will assume that the directory in which it is stored is 3834 +# the $objdir directory. This is a cygwin/mingw-specific 3835 +# behavior. 3836 +func_emit_wrapper () 3837 +{ 3838 + func_emit_wrapper_arg1=${1-no} 3839 + 3840 + $ECHO "\ 3841 +#! $SHELL 3842 + 3843 +# $output - temporary wrapper script for $objdir/$outputname 3844 +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION 3845 +# 3846 +# The $output program cannot be directly executed until all the libtool 3847 +# libraries that it depends on are installed. 3848 +# 3849 +# This wrapper script should never be moved out of the build directory. 3850 +# If it is, it will not operate correctly. 3851 + 3852 +# Sed substitution that helps us do robust quoting. It backslashifies 3853 +# metacharacters that are still active within double-quoted strings. 3854 +sed_quote_subst='$sed_quote_subst' 3855 + 3856 +# Be Bourne compatible 3857 +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then 3858 + emulate sh 3859 + NULLCMD=: 3860 + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which 3861 + # is contrary to our usage. Disable this feature. 3862 + alias -g '\${1+\"\$@\"}'='\"\$@\"' 3863 + setopt NO_GLOB_SUBST 3864 +else 3865 + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac 3866 +fi 3867 +BIN_SH=xpg4; export BIN_SH # for Tru64 3868 +DUALCASE=1; export DUALCASE # for MKS sh 3869 + 3870 +# The HP-UX ksh and POSIX shell print the target directory to stdout 3871 +# if CDPATH is set. 3872 +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 3873 + 3874 +relink_command=\"$relink_command\" 3875 + 3876 +# This environment variable determines our operation mode. 3877 +if test \"\$libtool_install_magic\" = \"$magic\"; then 3878 + # install mode needs the following variables: 3879 + generated_by_libtool_version='$macro_version' 3880 + notinst_deplibs='$notinst_deplibs' 3881 +else 3882 + # When we are sourced in execute mode, \$file and \$ECHO are already set. 3883 + if test \"\$libtool_execute_magic\" != \"$magic\"; then 3884 + file=\"\$0\"" 3885 + 3886 + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` 3887 + $ECHO "\ 3888 + 3889 +# A function that is used when there is no print builtin or printf. 3890 +func_fallback_echo () 3891 +{ 3892 + eval 'cat <<_LTECHO_EOF 3893 +\$1 3894 +_LTECHO_EOF' 3895 +} 3896 + ECHO=\"$qECHO\" 3897 + fi 3898 + 3899 +# Very basic option parsing. These options are (a) specific to 3900 +# the libtool wrapper, (b) are identical between the wrapper 3901 +# /script/ and the wrapper /executable/ which is used only on 3902 +# windows platforms, and (c) all begin with the string "--lt-" 3903 +# (application programs are unlikely to have options which match 3904 +# this pattern). 3905 +# 3906 +# There are only two supported options: --lt-debug and 3907 +# --lt-dump-script. There is, deliberately, no --lt-help. 3908 +# 3909 +# The first argument to this parsing function should be the 3910 +# script's $0 value, followed by "$@". 3911 +lt_option_debug= 3912 +func_parse_lt_options () 3913 +{ 3914 + lt_script_arg0=\$0 3915 + shift 3916 + for lt_opt 3917 + do 3918 + case \"\$lt_opt\" in 3919 + --lt-debug) lt_option_debug=1 ;; 3920 + --lt-dump-script) 3921 + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` 3922 + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. 3923 + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` 3924 + cat \"\$lt_dump_D/\$lt_dump_F\" 3925 + exit 0 3926 + ;; 3927 + --lt-*) 3928 + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 3929 + exit 1 3930 + ;; 3931 + esac 3932 + done 3933 + 3934 + # Print the debug banner immediately: 3935 + if test -n \"\$lt_option_debug\"; then 3936 + echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 3937 + fi 3938 +} 3939 + 3940 +# Used when --lt-debug. Prints its arguments to stdout 3941 +# (redirection is the responsibility of the caller) 3942 +func_lt_dump_args () 3943 +{ 3944 + lt_dump_args_N=1; 3945 + for lt_arg 3946 + do 3947 + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" 3948 + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` 3949 + done 3950 +} 3951 + 3952 +# Core function for launching the target application 3953 +func_exec_program_core () 3954 +{ 3955 +" 3956 + case $host in 3957 + # Backslashes separate directories on plain windows 3958 + *-*-mingw | *-*-os2* | *-cegcc*) 3959 + $ECHO "\ 3960 + if test -n \"\$lt_option_debug\"; then 3961 + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 3962 + func_lt_dump_args \${1+\"\$@\"} 1>&2 3963 + fi 3964 + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} 3965 +" 3966 + ;; 3967 + 3968 + *) 3969 + $ECHO "\ 3970 + if test -n \"\$lt_option_debug\"; then 3971 + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 3972 + func_lt_dump_args \${1+\"\$@\"} 1>&2 3973 + fi 3974 + exec \"\$progdir/\$program\" \${1+\"\$@\"} 3975 +" 3976 + ;; 3977 + esac 3978 + $ECHO "\ 3979 + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 3980 + exit 1 3981 +} 3982 + 3983 +# A function to encapsulate launching the target application 3984 +# Strips options in the --lt-* namespace from \$@ and 3985 +# launches target application with the remaining arguments. 3986 +func_exec_program () 3987 +{ 3988 + case \" \$* \" in 3989 + *\\ --lt-*) 3990 + for lt_wr_arg 3991 + do 3992 + case \$lt_wr_arg in 3993 + --lt-*) ;; 3994 + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; 3995 + esac 3996 + shift 3997 + done ;; 3998 + esac 3999 + func_exec_program_core \${1+\"\$@\"} 4000 +} 4001 + 4002 + # Parse options 4003 + func_parse_lt_options \"\$0\" \${1+\"\$@\"} 4004 + 4005 + # Find the directory that this script lives in. 4006 + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` 4007 + test \"x\$thisdir\" = \"x\$file\" && thisdir=. 4008 + 4009 + # Follow symbolic links until we get to the real thisdir. 4010 + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` 4011 + while test -n \"\$file\"; do 4012 + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` 4013 + 4014 + # If there was a directory component, then change thisdir. 4015 + if test \"x\$destdir\" != \"x\$file\"; then 4016 + case \"\$destdir\" in 4017 + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; 4018 + *) thisdir=\"\$thisdir/\$destdir\" ;; 4019 + esac 4020 + fi 4021 + 4022 + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` 4023 + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` 4024 + done 4025 + 4026 + # Usually 'no', except on cygwin/mingw when embedded into 4027 + # the cwrapper. 4028 + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 4029 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then 4030 + # special case for '.' 4031 + if test \"\$thisdir\" = \".\"; then 4032 + thisdir=\`pwd\` 4033 + fi 4034 + # remove .libs from thisdir 4035 + case \"\$thisdir\" in 4036 + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; 4037 + $objdir ) thisdir=. ;; 4038 + esac 4039 + fi 4040 + 4041 + # Try to get the absolute directory name. 4042 + absdir=\`cd \"\$thisdir\" && pwd\` 4043 + test -n \"\$absdir\" && thisdir=\"\$absdir\" 4044 +" 4045 + 4046 + if test "$fast_install" = yes; then 4047 + $ECHO "\ 4048 + program=lt-'$outputname'$exeext 4049 + progdir=\"\$thisdir/$objdir\" 4050 + 4051 + if test ! -f \"\$progdir/\$program\" || 4052 + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ 4053 + test \"X\$file\" != \"X\$progdir/\$program\"; }; then 4054 + 4055 + file=\"\$\$-\$program\" 4056 + 4057 + if test ! -d \"\$progdir\"; then 4058 + $MKDIR \"\$progdir\" 4059 + else 4060 + $RM \"\$progdir/\$file\" 4061 + fi" 4062 + 4063 + $ECHO "\ 4064 + 4065 + # relink executable if necessary 4066 + if test -n \"\$relink_command\"; then 4067 + if relink_command_output=\`eval \$relink_command 2>&1\`; then : 4068 + else 4069 + $ECHO \"\$relink_command_output\" >&2 4070 + $RM \"\$progdir/\$file\" 4071 + exit 1 4072 + fi 4073 + fi 4074 + 4075 + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || 4076 + { $RM \"\$progdir/\$program\"; 4077 + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } 4078 + $RM \"\$progdir/\$file\" 4079 + fi" 4080 + else 4081 + $ECHO "\ 4082 + program='$outputname' 4083 + progdir=\"\$thisdir/$objdir\" 4084 +" 4085 + fi 4086 + 4087 + $ECHO "\ 4088 + 4089 + if test -f \"\$progdir/\$program\"; then" 4090 + 4091 + # fixup the dll searchpath if we need to. 4092 + # 4093 + # Fix the DLL searchpath if we need to. Do this before prepending 4094 + # to shlibpath, because on Windows, both are PATH and uninstalled 4095 + # libraries must come first. 4096 + if test -n "$dllsearchpath"; then 4097 + $ECHO "\ 4098 + # Add the dll search path components to the executable PATH 4099 + PATH=$dllsearchpath:\$PATH 4100 +" 4101 + fi 4102 + 4103 + # Export our shlibpath_var if we have one. 4104 + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then 4105 + $ECHO "\ 4106 + # Add our own library path to $shlibpath_var 4107 + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" 4108 + 4109 + # Some systems cannot cope with colon-terminated $shlibpath_var 4110 + # The second colon is a workaround for a bug in BeOS R4 sed 4111 + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` 4112 + 4113 + export $shlibpath_var 4114 +" 4115 + fi 4116 + 4117 + $ECHO "\ 4118 + if test \"\$libtool_execute_magic\" != \"$magic\"; then 4119 + # Run the actual program with our arguments. 4120 + func_exec_program \${1+\"\$@\"} 4121 + fi 4122 + else 4123 + # The program doesn't exist. 4124 + \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 4125 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 4126 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 4127 + exit 1 4128 + fi 4129 +fi\ 4130 +" 4131 +} 4132 + 4133 + 4134 +# func_emit_cwrapperexe_src 4135 +# emit the source code for a wrapper executable on stdout 4136 +# Must ONLY be called from within func_mode_link because 4137 +# it depends on a number of variable set therein. 4138 +func_emit_cwrapperexe_src () 4139 +{ 4140 + cat <<EOF 4141 + 4142 +/* $cwrappersource - temporary wrapper executable for $objdir/$outputname 4143 + Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION 4144 + 4145 + The $output program cannot be directly executed until all the libtool 4146 + libraries that it depends on are installed. 4147 + 4148 + This wrapper executable should never be moved out of the build directory. 4149 + If it is, it will not operate correctly. 4150 +*/ 4151 +EOF 4152 + cat <<"EOF" 4153 +#ifdef _MSC_VER 4154 +# define _CRT_SECURE_NO_DEPRECATE 1 4155 +#endif 4156 +#include <stdio.h> 4157 +#include <stdlib.h> 4158 +#ifdef _MSC_VER 4159 +# include <direct.h> 4160 +# include <process.h> 4161 +# include <io.h> 4162 +#else 4163 +# include <unistd.h> 4164 +# include <stdint.h> 4165 +# ifdef __CYGWIN__ 4166 +# include <io.h> 4167 +# endif 4168 +#endif 4169 +#include <malloc.h> 4170 +#include <stdarg.h> 4171 +#include <assert.h> 4172 +#include <string.h> 4173 +#include <ctype.h> 4174 +#include <errno.h> 4175 +#include <fcntl.h> 4176 +#include <sys/stat.h> 4177 + 4178 +/* declarations of non-ANSI functions */ 4179 +#if defined(__MINGW32__) 4180 +# ifdef __STRICT_ANSI__ 4181 +int _putenv (const char *); 4182 +# endif 4183 +#elif defined(__CYGWIN__) 4184 +# ifdef __STRICT_ANSI__ 4185 +char *realpath (const char *, char *); 4186 +int putenv (char *); 4187 +int setenv (const char *, const char *, int); 4188 +# endif 4189 +/* #elif defined (other platforms) ... */ 4190 +#endif 4191 + 4192 +/* portability defines, excluding path handling macros */ 4193 +#if defined(_MSC_VER) 4194 +# define setmode _setmode 4195 +# define stat _stat 4196 +# define chmod _chmod 4197 +# define getcwd _getcwd 4198 +# define putenv _putenv 4199 +# define S_IXUSR _S_IEXEC 4200 +# ifndef _INTPTR_T_DEFINED 4201 +# define _INTPTR_T_DEFINED 4202 +# define intptr_t int 4203 +# endif 4204 +#elif defined(__MINGW32__) 4205 +# define setmode _setmode 4206 +# define stat _stat 4207 +# define chmod _chmod 4208 +# define getcwd _getcwd 4209 +# define putenv _putenv 4210 +#elif defined(__CYGWIN__) 4211 +# define HAVE_SETENV 4212 +# define FOPEN_WB "wb" 4213 +/* #elif defined (other platforms) ... */ 4214 +#endif 4215 + 4216 +#if defined(PATH_MAX) 4217 +# define LT_PATHMAX PATH_MAX 4218 +#elif defined(MAXPATHLEN) 4219 +# define LT_PATHMAX MAXPATHLEN 4220 +#else 4221 +# define LT_PATHMAX 1024 4222 +#endif 4223 + 4224 +#ifndef S_IXOTH 4225 +# define S_IXOTH 0 4226 +#endif 4227 +#ifndef S_IXGRP 4228 +# define S_IXGRP 0 4229 +#endif 4230 + 4231 +/* path handling portability macros */ 4232 +#ifndef DIR_SEPARATOR 4233 +# define DIR_SEPARATOR '/' 4234 +# define PATH_SEPARATOR ':' 4235 +#endif 4236 + 4237 +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ 4238 + defined (__OS2__) 4239 +# define HAVE_DOS_BASED_FILE_SYSTEM 4240 +# define FOPEN_WB "wb" 4241 +# ifndef DIR_SEPARATOR_2 4242 +# define DIR_SEPARATOR_2 '\\' 4243 +# endif 4244 +# ifndef PATH_SEPARATOR_2 4245 +# define PATH_SEPARATOR_2 ';' 4246 +# endif 4247 +#endif 4248 + 4249 +#ifndef DIR_SEPARATOR_2 4250 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) 4251 +#else /* DIR_SEPARATOR_2 */ 4252 +# define IS_DIR_SEPARATOR(ch) \ 4253 + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) 4254 +#endif /* DIR_SEPARATOR_2 */ 4255 + 4256 +#ifndef PATH_SEPARATOR_2 4257 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) 4258 +#else /* PATH_SEPARATOR_2 */ 4259 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) 4260 +#endif /* PATH_SEPARATOR_2 */ 4261 + 4262 +#ifndef FOPEN_WB 4263 +# define FOPEN_WB "w" 4264 +#endif 4265 +#ifndef _O_BINARY 4266 +# define _O_BINARY 0 4267 +#endif 4268 + 4269 +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) 4270 +#define XFREE(stale) do { \ 4271 + if (stale) { free ((void *) stale); stale = 0; } \ 4272 +} while (0) 4273 + 4274 +#if defined(LT_DEBUGWRAPPER) 4275 +static int lt_debug = 1; 4276 +#else 4277 +static int lt_debug = 0; 4278 +#endif 4279 + 4280 +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ 4281 + 4282 +void *xmalloc (size_t num); 4283 +char *xstrdup (const char *string); 4284 +const char *base_name (const char *name); 4285 +char *find_executable (const char *wrapper); 4286 +char *chase_symlinks (const char *pathspec); 4287 +int make_executable (const char *path); 4288 +int check_executable (const char *path); 4289 +char *strendzap (char *str, const char *pat); 4290 +void lt_debugprintf (const char *file, int line, const char *fmt, ...); 4291 +void lt_fatal (const char *file, int line, const char *message, ...); 4292 +static const char *nonnull (const char *s); 4293 +static const char *nonempty (const char *s); 4294 +void lt_setenv (const char *name, const char *value); 4295 +char *lt_extend_str (const char *orig_value, const char *add, int to_end); 4296 +void lt_update_exe_path (const char *name, const char *value); 4297 +void lt_update_lib_path (const char *name, const char *value); 4298 +char **prepare_spawn (char **argv); 4299 +void lt_dump_script (FILE *f); 4300 +EOF 4301 + 4302 + cat <<EOF 4303 +volatile const char * MAGIC_EXE = "$magic_exe"; 4304 +const char * LIB_PATH_VARNAME = "$shlibpath_var"; 4305 +EOF 4306 + 4307 + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then 4308 + func_to_host_path "$temp_rpath" 4309 + cat <<EOF 4310 +const char * LIB_PATH_VALUE = "$func_to_host_path_result"; 4311 +EOF 4312 + else 4313 + cat <<"EOF" 4314 +const char * LIB_PATH_VALUE = ""; 4315 +EOF 4316 + fi 4317 + 4318 + if test -n "$dllsearchpath"; then 4319 + func_to_host_path "$dllsearchpath:" 4320 + cat <<EOF 4321 +const char * EXE_PATH_VARNAME = "PATH"; 4322 +const char * EXE_PATH_VALUE = "$func_to_host_path_result"; 4323 +EOF 4324 + else 4325 + cat <<"EOF" 4326 +const char * EXE_PATH_VARNAME = ""; 4327 +const char * EXE_PATH_VALUE = ""; 4328 +EOF 4329 + fi 4330 + 4331 + if test "$fast_install" = yes; then 4332 + cat <<EOF 4333 +const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ 4334 +EOF 4335 + else 4336 + cat <<EOF 4337 +const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ 4338 +EOF 4339 + fi 4340 + 4341 + 4342 + cat <<"EOF" 4343 + 4344 +#define LTWRAPPER_OPTION_PREFIX "--lt-" 4345 + 4346 +static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; 4347 +static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; 4348 +static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug"; 4349 + 4350 +int 4351 +main (int argc, char *argv[]) 4352 +{ 4353 + char **newargz; 4354 + int newargc; 4355 + char *tmp_pathspec; 4356 + char *actual_cwrapper_path; 4357 + char *actual_cwrapper_name; 4358 + char *target_name; 4359 + char *lt_argv_zero; 4360 + intptr_t rval = 127; 4361 + 4362 + int i; 4363 + 4364 + program_name = (char *) xstrdup (base_name (argv[0])); 4365 + newargz = XMALLOC (char *, argc + 1); 4366 + 4367 + /* very simple arg parsing; don't want to rely on getopt 4368 + * also, copy all non cwrapper options to newargz, except 4369 + * argz[0], which is handled differently 4370 + */ 4371 + newargc=0; 4372 + for (i = 1; i < argc; i++) 4373 + { 4374 + if (strcmp (argv[i], dumpscript_opt) == 0) 4375 + { 4376 +EOF 4377 + case "$host" in 4378 + *mingw* | *cygwin* ) 4379 + # make stdout use "unix" line endings 4380 + echo " setmode(1,_O_BINARY);" 4381 + ;; 4382 + esac 4383 + 4384 + cat <<"EOF" 4385 + lt_dump_script (stdout); 4386 + return 0; 4387 + } 4388 + if (strcmp (argv[i], debug_opt) == 0) 4389 + { 4390 + lt_debug = 1; 4391 + continue; 4392 + } 4393 + if (strcmp (argv[i], ltwrapper_option_prefix) == 0) 4394 + { 4395 + /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX 4396 + namespace, but it is not one of the ones we know about and 4397 + have already dealt with, above (inluding dump-script), then 4398 + report an error. Otherwise, targets might begin to believe 4399 + they are allowed to use options in the LTWRAPPER_OPTION_PREFIX 4400 + namespace. The first time any user complains about this, we'll 4401 + need to make LTWRAPPER_OPTION_PREFIX a configure-time option 4402 + or a configure.ac-settable value. 4403 + */ 4404 + lt_fatal (__FILE__, __LINE__, 4405 + "unrecognized %s option: '%s'", 4406 + ltwrapper_option_prefix, argv[i]); 4407 + } 4408 + /* otherwise ... */ 4409 + newargz[++newargc] = xstrdup (argv[i]); 4410 + } 4411 + newargz[++newargc] = NULL; 4412 + 4413 +EOF 4414 + cat <<EOF 4415 + /* The GNU banner must be the first non-error debug message */ 4416 + lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n"); 4417 +EOF 4418 + cat <<"EOF" 4419 + lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]); 4420 + lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name); 4421 + 4422 + tmp_pathspec = find_executable (argv[0]); 4423 + if (tmp_pathspec == NULL) 4424 + lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]); 4425 + lt_debugprintf (__FILE__, __LINE__, 4426 + "(main) found exe (before symlink chase) at: %s\n", 4427 + tmp_pathspec); 4428 + 4429 + actual_cwrapper_path = chase_symlinks (tmp_pathspec); 4430 + lt_debugprintf (__FILE__, __LINE__, 4431 + "(main) found exe (after symlink chase) at: %s\n", 4432 + actual_cwrapper_path); 4433 + XFREE (tmp_pathspec); 4434 + 4435 + actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path)); 4436 + strendzap (actual_cwrapper_path, actual_cwrapper_name); 4437 + 4438 + /* wrapper name transforms */ 4439 + strendzap (actual_cwrapper_name, ".exe"); 4440 + tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); 4441 + XFREE (actual_cwrapper_name); 4442 + actual_cwrapper_name = tmp_pathspec; 4443 + tmp_pathspec = 0; 4444 + 4445 + /* target_name transforms -- use actual target program name; might have lt- prefix */ 4446 + target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); 4447 + strendzap (target_name, ".exe"); 4448 + tmp_pathspec = lt_extend_str (target_name, ".exe", 1); 4449 + XFREE (target_name); 4450 + target_name = tmp_pathspec; 4451 + tmp_pathspec = 0; 4452 + 4453 + lt_debugprintf (__FILE__, __LINE__, 4454 + "(main) libtool target name: %s\n", 4455 + target_name); 4456 +EOF 4457 + 4458 + cat <<EOF 4459 + newargz[0] = 4460 + XMALLOC (char, (strlen (actual_cwrapper_path) + 4461 + strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); 4462 + strcpy (newargz[0], actual_cwrapper_path); 4463 + strcat (newargz[0], "$objdir"); 4464 + strcat (newargz[0], "/"); 4465 +EOF 4466 + 4467 + cat <<"EOF" 4468 + /* stop here, and copy so we don't have to do this twice */ 4469 + tmp_pathspec = xstrdup (newargz[0]); 4470 + 4471 + /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ 4472 + strcat (newargz[0], actual_cwrapper_name); 4473 + 4474 + /* DO want the lt- prefix here if it exists, so use target_name */ 4475 + lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); 4476 + XFREE (tmp_pathspec); 4477 + tmp_pathspec = NULL; 4478 +EOF 4479 + 4480 + case $host_os in 4481 + mingw*) 4482 + cat <<"EOF" 4483 + { 4484 + char* p; 4485 + while ((p = strchr (newargz[0], '\\')) != NULL) 4486 + { 4487 + *p = '/'; 4488 + } 4489 + while ((p = strchr (lt_argv_zero, '\\')) != NULL) 4490 + { 4491 + *p = '/'; 4492 + } 4493 + } 4494 +EOF 4495 + ;; 4496 + esac 4497 + 4498 + cat <<"EOF" 4499 + XFREE (target_name); 4500 + XFREE (actual_cwrapper_path); 4501 + XFREE (actual_cwrapper_name); 4502 + 4503 + lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ 4504 + lt_setenv ("DUALCASE", "1"); /* for MSK sh */ 4505 + /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must 4506 + be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath) 4507 + because on Windows, both *_VARNAMEs are PATH but uninstalled 4508 + libraries must come first. */ 4509 + lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); 4510 + lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); 4511 + 4512 + lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n", 4513 + nonnull (lt_argv_zero)); 4514 + for (i = 0; i < newargc; i++) 4515 + { 4516 + lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", 4517 + i, nonnull (newargz[i])); 4518 + } 4519 + 4520 +EOF 4521 + 4522 + case $host_os in 4523 + mingw*) 4524 + cat <<"EOF" 4525 + /* execv doesn't actually work on mingw as expected on unix */ 4526 + newargz = prepare_spawn (newargz); 4527 + rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); 4528 + if (rval == -1) 4529 + { 4530 + /* failed to start process */ 4531 + lt_debugprintf (__FILE__, __LINE__, 4532 + "(main) failed to launch target \"%s\": %s\n", 4533 + lt_argv_zero, nonnull (strerror (errno))); 4534 + return 127; 4535 + } 4536 + return rval; 4537 +EOF 4538 + ;; 4539 + *) 4540 + cat <<"EOF" 4541 + execv (lt_argv_zero, newargz); 4542 + return rval; /* =127, but avoids unused variable warning */ 4543 +EOF 4544 + ;; 4545 + esac 4546 + 4547 + cat <<"EOF" 4548 +} 4549 + 4550 +void * 4551 +xmalloc (size_t num) 4552 +{ 4553 + void *p = (void *) malloc (num); 4554 + if (!p) 4555 + lt_fatal (__FILE__, __LINE__, "memory exhausted"); 4556 + 4557 + return p; 4558 +} 4559 + 4560 +char * 4561 +xstrdup (const char *string) 4562 +{ 4563 + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), 4564 + string) : NULL; 4565 +} 4566 + 4567 +const char * 4568 +base_name (const char *name) 4569 +{ 4570 + const char *base; 4571 + 4572 +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) 4573 + /* Skip over the disk name in MSDOS pathnames. */ 4574 + if (isalpha ((unsigned char) name[0]) && name[1] == ':') 4575 + name += 2; 4576 +#endif 4577 + 4578 + for (base = name; *name; name++) 4579 + if (IS_DIR_SEPARATOR (*name)) 4580 + base = name + 1; 4581 + return base; 4582 +} 4583 + 4584 +int 4585 +check_executable (const char *path) 4586 +{ 4587 + struct stat st; 4588 + 4589 + lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n", 4590 + nonempty (path)); 4591 + if ((!path) || (!*path)) 4592 + return 0; 4593 + 4594 + if ((stat (path, &st) >= 0) 4595 + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) 4596 + return 1; 4597 + else 4598 + return 0; 4599 +} 4600 + 4601 +int 4602 +make_executable (const char *path) 4603 +{ 4604 + int rval = 0; 4605 + struct stat st; 4606 + 4607 + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", 4608 + nonempty (path)); 4609 + if ((!path) || (!*path)) 4610 + return 0; 4611 + 4612 + if (stat (path, &st) >= 0) 4613 + { 4614 + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); 4615 + } 4616 + return rval; 4617 +} 4618 + 4619 +/* Searches for the full path of the wrapper. Returns 4620 + newly allocated full path name if found, NULL otherwise 4621 + Does not chase symlinks, even on platforms that support them. 4622 +*/ 4623 +char * 4624 +find_executable (const char *wrapper) 4625 +{ 4626 + int has_slash = 0; 4627 + const char *p; 4628 + const char *p_next; 4629 + /* static buffer for getcwd */ 4630 + char tmp[LT_PATHMAX + 1]; 4631 + int tmp_len; 4632 + char *concat_name; 4633 + 4634 + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", 4635 + nonempty (wrapper)); 4636 + 4637 + if ((wrapper == NULL) || (*wrapper == '\0')) 4638 + return NULL; 4639 + 4640 + /* Absolute path? */ 4641 +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) 4642 + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') 4643 + { 4644 + concat_name = xstrdup (wrapper); 4645 + if (check_executable (concat_name)) 4646 + return concat_name; 4647 + XFREE (concat_name); 4648 + } 4649 + else 4650 + { 4651 +#endif 4652 + if (IS_DIR_SEPARATOR (wrapper[0])) 4653 + { 4654 + concat_name = xstrdup (wrapper); 4655 + if (check_executable (concat_name)) 4656 + return concat_name; 4657 + XFREE (concat_name); 4658 + } 4659 +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) 4660 + } 4661 +#endif 4662 + 4663 + for (p = wrapper; *p; p++) 4664 + if (*p == '/') 4665 + { 4666 + has_slash = 1; 4667 + break; 4668 + } 4669 + if (!has_slash) 4670 + { 4671 + /* no slashes; search PATH */ 4672 + const char *path = getenv ("PATH"); 4673 + if (path != NULL) 4674 + { 4675 + for (p = path; *p; p = p_next) 4676 + { 4677 + const char *q; 4678 + size_t p_len; 4679 + for (q = p; *q; q++) 4680 + if (IS_PATH_SEPARATOR (*q)) 4681 + break; 4682 + p_len = q - p; 4683 + p_next = (*q == '\0' ? q : q + 1); 4684 + if (p_len == 0) 4685 + { 4686 + /* empty path: current directory */ 4687 + if (getcwd (tmp, LT_PATHMAX) == NULL) 4688 + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", 4689 + nonnull (strerror (errno))); 4690 + tmp_len = strlen (tmp); 4691 + concat_name = 4692 + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); 4693 + memcpy (concat_name, tmp, tmp_len); 4694 + concat_name[tmp_len] = '/'; 4695 + strcpy (concat_name + tmp_len + 1, wrapper); 4696 + } 4697 + else 4698 + { 4699 + concat_name = 4700 + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); 4701 + memcpy (concat_name, p, p_len); 4702 + concat_name[p_len] = '/'; 4703 + strcpy (concat_name + p_len + 1, wrapper); 4704 + } 4705 + if (check_executable (concat_name)) 4706 + return concat_name; 4707 + XFREE (concat_name); 4708 + } 4709 + } 4710 + /* not found in PATH; assume curdir */ 4711 + } 4712 + /* Relative path | not found in path: prepend cwd */ 4713 + if (getcwd (tmp, LT_PATHMAX) == NULL) 4714 + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", 4715 + nonnull (strerror (errno))); 4716 + tmp_len = strlen (tmp); 4717 + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); 4718 + memcpy (concat_name, tmp, tmp_len); 4719 + concat_name[tmp_len] = '/'; 4720 + strcpy (concat_name + tmp_len + 1, wrapper); 4721 + 4722 + if (check_executable (concat_name)) 4723 + return concat_name; 4724 + XFREE (concat_name); 4725 + return NULL; 4726 +} 4727 + 4728 +char * 4729 +chase_symlinks (const char *pathspec) 4730 +{ 4731 +#ifndef S_ISLNK 4732 + return xstrdup (pathspec); 4733 +#else 4734 + char buf[LT_PATHMAX]; 4735 + struct stat s; 4736 + char *tmp_pathspec = xstrdup (pathspec); 4737 + char *p; 4738 + int has_symlinks = 0; 4739 + while (strlen (tmp_pathspec) && !has_symlinks) 4740 + { 4741 + lt_debugprintf (__FILE__, __LINE__, 4742 + "checking path component for symlinks: %s\n", 4743 + tmp_pathspec); 4744 + if (lstat (tmp_pathspec, &s) == 0) 4745 + { 4746 + if (S_ISLNK (s.st_mode) != 0) 4747 + { 4748 + has_symlinks = 1; 4749 + break; 4750 + } 4751 + 4752 + /* search backwards for last DIR_SEPARATOR */ 4753 + p = tmp_pathspec + strlen (tmp_pathspec) - 1; 4754 + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) 4755 + p--; 4756 + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) 4757 + { 4758 + /* no more DIR_SEPARATORS left */ 4759 + break; 4760 + } 4761 + *p = '\0'; 4762 + } 4763 + else 4764 + { 4765 + lt_fatal (__FILE__, __LINE__, 4766 + "error accessing file \"%s\": %s", 4767 + tmp_pathspec, nonnull (strerror (errno))); 4768 + } 4769 + } 4770 + XFREE (tmp_pathspec); 4771 + 4772 + if (!has_symlinks) 4773 + { 4774 + return xstrdup (pathspec); 4775 + } 4776 + 4777 + tmp_pathspec = realpath (pathspec, buf); 4778 + if (tmp_pathspec == 0) 4779 + { 4780 + lt_fatal (__FILE__, __LINE__, 4781 + "could not follow symlinks for %s", pathspec); 4782 + } 4783 + return xstrdup (tmp_pathspec); 4784 +#endif 4785 +} 4786 + 4787 +char * 4788 +strendzap (char *str, const char *pat) 4789 +{ 4790 + size_t len, patlen; 4791 + 4792 + assert (str != NULL); 4793 + assert (pat != NULL); 4794 + 4795 + len = strlen (str); 4796 + patlen = strlen (pat); 4797 + 4798 + if (patlen <= len) 4799 + { 4800 + str += len - patlen; 4801 + if (strcmp (str, pat) == 0) 4802 + *str = '\0'; 4803 + } 4804 + return str; 4805 +} 4806 + 4807 +void 4808 +lt_debugprintf (const char *file, int line, const char *fmt, ...) 4809 +{ 4810 + va_list args; 4811 + if (lt_debug) 4812 + { 4813 + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); 4814 + va_start (args, fmt); 4815 + (void) vfprintf (stderr, fmt, args); 4816 + va_end (args); 4817 + } 4818 +} 4819 + 4820 +static void 4821 +lt_error_core (int exit_status, const char *file, 4822 + int line, const char *mode, 4823 + const char *message, va_list ap) 4824 +{ 4825 + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); 4826 + vfprintf (stderr, message, ap); 4827 + fprintf (stderr, ".\n"); 4828 + 4829 + if (exit_status >= 0) 4830 + exit (exit_status); 4831 +} 4832 + 4833 +void 4834 +lt_fatal (const char *file, int line, const char *message, ...) 4835 +{ 4836 + va_list ap; 4837 + va_start (ap, message); 4838 + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); 4839 + va_end (ap); 4840 +} 4841 + 4842 +static const char * 4843 +nonnull (const char *s) 4844 +{ 4845 + return s ? s : "(null)"; 4846 +} 4847 + 4848 +static const char * 4849 +nonempty (const char *s) 4850 +{ 4851 + return (s && !*s) ? "(empty)" : nonnull (s); 4852 +} 4853 + 4854 +void 4855 +lt_setenv (const char *name, const char *value) 4856 +{ 4857 + lt_debugprintf (__FILE__, __LINE__, 4858 + "(lt_setenv) setting '%s' to '%s'\n", 4859 + nonnull (name), nonnull (value)); 4860 + { 4861 +#ifdef HAVE_SETENV 4862 + /* always make a copy, for consistency with !HAVE_SETENV */ 4863 + char *str = xstrdup (value); 4864 + setenv (name, str, 1); 4865 +#else 4866 + int len = strlen (name) + 1 + strlen (value) + 1; 4867 + char *str = XMALLOC (char, len); 4868 + sprintf (str, "%s=%s", name, value); 4869 + if (putenv (str) != EXIT_SUCCESS) 4870 + { 4871 + XFREE (str); 4872 + } 4873 +#endif 4874 + } 4875 +} 4876 + 4877 +char * 4878 +lt_extend_str (const char *orig_value, const char *add, int to_end) 4879 +{ 4880 + char *new_value; 4881 + if (orig_value && *orig_value) 4882 + { 4883 + int orig_value_len = strlen (orig_value); 4884 + int add_len = strlen (add); 4885 + new_value = XMALLOC (char, add_len + orig_value_len + 1); 4886 + if (to_end) 4887 + { 4888 + strcpy (new_value, orig_value); 4889 + strcpy (new_value + orig_value_len, add); 4890 + } 4891 + else 4892 + { 4893 + strcpy (new_value, add); 4894 + strcpy (new_value + add_len, orig_value); 4895 + } 4896 + } 4897 + else 4898 + { 4899 + new_value = xstrdup (add); 4900 + } 4901 + return new_value; 4902 +} 4903 + 4904 +void 4905 +lt_update_exe_path (const char *name, const char *value) 4906 +{ 4907 + lt_debugprintf (__FILE__, __LINE__, 4908 + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", 4909 + nonnull (name), nonnull (value)); 4910 + 4911 + if (name && *name && value && *value) 4912 + { 4913 + char *new_value = lt_extend_str (getenv (name), value, 0); 4914 + /* some systems can't cope with a ':'-terminated path #' */ 4915 + int len = strlen (new_value); 4916 + while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) 4917 + { 4918 + new_value[len-1] = '\0'; 4919 + } 4920 + lt_setenv (name, new_value); 4921 + XFREE (new_value); 4922 + } 4923 +} 4924 + 4925 +void 4926 +lt_update_lib_path (const char *name, const char *value) 4927 +{ 4928 + lt_debugprintf (__FILE__, __LINE__, 4929 + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", 4930 + nonnull (name), nonnull (value)); 4931 + 4932 + if (name && *name && value && *value) 4933 + { 4934 + char *new_value = lt_extend_str (getenv (name), value, 0); 4935 + lt_setenv (name, new_value); 4936 + XFREE (new_value); 4937 + } 4938 +} 4939 + 4940 +EOF 4941 + case $host_os in 4942 + mingw*) 4943 + cat <<"EOF" 4944 + 4945 +/* Prepares an argument vector before calling spawn(). 4946 + Note that spawn() does not by itself call the command interpreter 4947 + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : 4948 + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); 4949 + GetVersionEx(&v); 4950 + v.dwPlatformId == VER_PLATFORM_WIN32_NT; 4951 + }) ? "cmd.exe" : "command.com"). 4952 + Instead it simply concatenates the arguments, separated by ' ', and calls 4953 + CreateProcess(). We must quote the arguments since Win32 CreateProcess() 4954 + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a 4955 + special way: 4956 + - Space and tab are interpreted as delimiters. They are not treated as 4957 + delimiters if they are surrounded by double quotes: "...". 4958 + - Unescaped double quotes are removed from the input. Their only effect is 4959 + that within double quotes, space and tab are treated like normal 4960 + characters. 4961 + - Backslashes not followed by double quotes are not special. 4962 + - But 2*n+1 backslashes followed by a double quote become 4963 + n backslashes followed by a double quote (n >= 0): 4964 + \" -> " 4965 + \\\" -> \" 4966 + \\\\\" -> \\" 4967 + */ 4968 +#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" 4969 +#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" 4970 +char ** 4971 +prepare_spawn (char **argv) 4972 +{ 4973 + size_t argc; 4974 + char **new_argv; 4975 + size_t i; 4976 + 4977 + /* Count number of arguments. */ 4978 + for (argc = 0; argv[argc] != NULL; argc++) 4979 + ; 4980 + 4981 + /* Allocate new argument vector. */ 4982 + new_argv = XMALLOC (char *, argc + 1); 4983 + 4984 + /* Put quoted arguments into the new argument vector. */ 4985 + for (i = 0; i < argc; i++) 4986 + { 4987 + const char *string = argv[i]; 4988 + 4989 + if (string[0] == '\0') 4990 + new_argv[i] = xstrdup ("\"\""); 4991 + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) 4992 + { 4993 + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); 4994 + size_t length; 4995 + unsigned int backslashes; 4996 + const char *s; 4997 + char *quoted_string; 4998 + char *p; 4999 + 5000 + length = 0; 5001 + backslashes = 0; 5002 + if (quote_around) 5003 + length++; 5004 + for (s = string; *s != '\0'; s++) 5005 + { 5006 + char c = *s; 5007 + if (c == '"') 5008 + length += backslashes + 1; 5009 + length++; 5010 + if (c == '\\') 5011 + backslashes++; 5012 + else 5013 + backslashes = 0; 5014 + } 5015 + if (quote_around) 5016 + length += backslashes + 1; 5017 + 5018 + quoted_string = XMALLOC (char, length + 1); 5019 + 5020 + p = quoted_string; 5021 + backslashes = 0; 5022 + if (quote_around) 5023 + *p++ = '"'; 5024 + for (s = string; *s != '\0'; s++) 5025 + { 5026 + char c = *s; 5027 + if (c == '"') 5028 + { 5029 + unsigned int j; 5030 + for (j = backslashes + 1; j > 0; j--) 5031 + *p++ = '\\'; 5032 + } 5033 + *p++ = c; 5034 + if (c == '\\') 5035 + backslashes++; 5036 + else 5037 + backslashes = 0; 5038 + } 5039 + if (quote_around) 5040 + { 5041 + unsigned int j; 5042 + for (j = backslashes; j > 0; j--) 5043 + *p++ = '\\'; 5044 + *p++ = '"'; 5045 + } 5046 + *p = '\0'; 5047 + 5048 + new_argv[i] = quoted_string; 5049 + } 5050 + else 5051 + new_argv[i] = (char *) string; 5052 + } 5053 + new_argv[argc] = NULL; 5054 + 5055 + return new_argv; 5056 +} 5057 +EOF 5058 + ;; 5059 + esac 5060 + 5061 + cat <<"EOF" 5062 +void lt_dump_script (FILE* f) 5063 +{ 5064 +EOF 5065 + func_emit_wrapper yes | 5066 + $SED -n -e ' 5067 +s/^\(.\{79\}\)\(..*\)/\1\ 5068 +\2/ 5069 +h 5070 +s/\([\\"]\)/\\\1/g 5071 +s/$/\\n/ 5072 +s/\([^\n]*\).*/ fputs ("\1", f);/p 5073 +g 5074 +D' 5075 + cat <<"EOF" 5076 +} 5077 +EOF 5078 +} 5079 +# end: func_emit_cwrapperexe_src 5080 + 5081 +# func_win32_import_lib_p ARG 5082 +# True if ARG is an import lib, as indicated by $file_magic_cmd 5083 +func_win32_import_lib_p () 5084 +{ 5085 + $opt_debug 5086 + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in 5087 + *import*) : ;; 5088 + *) false ;; 5089 + esac 5090 +} 5091 + 5092 +# func_mode_link arg... 5093 +func_mode_link () 5094 +{ 5095 + $opt_debug 5096 + case $host in 5097 + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) 5098 + # It is impossible to link a dll without this setting, and 5099 + # we shouldn't force the makefile maintainer to figure out 5100 + # which system we are compiling for in order to pass an extra 5101 + # flag for every libtool invocation. 5102 + # allow_undefined=no 5103 + 5104 + # FIXME: Unfortunately, there are problems with the above when trying 5105 + # to make a dll which has undefined symbols, in which case not 5106 + # even a static library is built. For now, we need to specify 5107 + # -no-undefined on the libtool link line when we can be certain 5108 + # that all symbols are satisfied, otherwise we get a static library. 5109 + allow_undefined=yes 5110 + ;; 5111 + *) 5112 + allow_undefined=yes 5113 + ;; 5114 + esac 5115 + libtool_args=$nonopt 5116 + base_compile="$nonopt $@" 5117 + compile_command=$nonopt 5118 + finalize_command=$nonopt 5119 + 5120 + compile_rpath= 5121 + finalize_rpath= 5122 + compile_shlibpath= 5123 + finalize_shlibpath= 5124 + convenience= 5125 + old_convenience= 5126 + deplibs= 5127 + old_deplibs= 5128 + compiler_flags= 5129 + linker_flags= 5130 + dllsearchpath= 5131 + lib_search_path=`pwd` 5132 + inst_prefix_dir= 5133 + new_inherited_linker_flags= 5134 + 5135 + avoid_version=no 5136 + bindir= 5137 + dlfiles= 5138 + dlprefiles= 5139 + dlself=no 5140 + export_dynamic=no 5141 + export_symbols= 5142 + export_symbols_regex= 5143 + generated= 5144 + libobjs= 5145 + ltlibs= 5146 + module=no 5147 + no_install=no 5148 + objs= 5149 + non_pic_objects= 5150 + precious_files_regex= 5151 + prefer_static_libs=no 5152 + preload=no 5153 + prev= 5154 + prevarg= 5155 + release= 5156 + rpath= 5157 + xrpath= 5158 + perm_rpath= 5159 + temp_rpath= 5160 + thread_safe=no 5161 + vinfo= 5162 + vinfo_number=no 5163 + weak_libs= 5164 + single_module="${wl}-single_module" 5165 + func_infer_tag $base_compile 5166 + 5167 + # We need to know -static, to get the right output filenames. 5168 + for arg 5169 + do 5170 + case $arg in 5171 + -shared) 5172 + test "$build_libtool_libs" != yes && \ 5173 + func_fatal_configuration "can not build a shared library" 5174 + build_old_libs=no 5175 + break 5176 + ;; 5177 + -all-static | -static | -static-libtool-libs) 5178 + case $arg in 5179 + -all-static) 5180 + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then 5181 + func_warning "complete static linking is impossible in this configuration" 5182 + fi 5183 + if test -n "$link_static_flag"; then 5184 + dlopen_self=$dlopen_self_static 5185 + fi 5186 + prefer_static_libs=yes 5187 + ;; 5188 + -static) 5189 + if test -z "$pic_flag" && test -n "$link_static_flag"; then 5190 + dlopen_self=$dlopen_self_static 5191 + fi 5192 + prefer_static_libs=built 5193 + ;; 5194 + -static-libtool-libs) 5195 + if test -z "$pic_flag" && test -n "$link_static_flag"; then 5196 + dlopen_self=$dlopen_self_static 5197 + fi 5198 + prefer_static_libs=yes 5199 + ;; 5200 + esac 5201 + build_libtool_libs=no 5202 + build_old_libs=yes 5203 + break 5204 + ;; 5205 + esac 5206 + done 5207 + 5208 + # See if our shared archives depend on static archives. 5209 + test -n "$old_archive_from_new_cmds" && build_old_libs=yes 5210 + 5211 + # Go through the arguments, transforming them on the way. 5212 + while test "$#" -gt 0; do 5213 + arg="$1" 5214 + shift 5215 + func_quote_for_eval "$arg" 5216 + qarg=$func_quote_for_eval_unquoted_result 5217 + func_append libtool_args " $func_quote_for_eval_result" 5218 + 5219 + # If the previous option needs an argument, assign it. 5220 + if test -n "$prev"; then 5221 + case $prev in 5222 + output) 5223 + func_append compile_command " @OUTPUT@" 5224 + func_append finalize_command " @OUTPUT@" 5225 + ;; 5226 + esac 5227 + 5228 + case $prev in 5229 + bindir) 5230 + bindir="$arg" 5231 + prev= 5232 + continue 5233 + ;; 5234 + dlfiles|dlprefiles) 5235 + if test "$preload" = no; then 5236 + # Add the symbol object into the linking commands. 5237 + func_append compile_command " @SYMFILE@" 5238 + func_append finalize_command " @SYMFILE@" 5239 + preload=yes 5240 + fi 5241 + case $arg in 5242 + *.la | *.lo) ;; # We handle these cases below. 5243 + force) 5244 + if test "$dlself" = no; then 5245 + dlself=needless 5246 + export_dynamic=yes 5247 + fi 5248 + prev= 5249 + continue 5250 + ;; 5251 + self) 5252 + if test "$prev" = dlprefiles; then 5253 + dlself=yes 5254 + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then 5255 + dlself=yes 5256 + else 5257 + dlself=needless 5258 + export_dynamic=yes 5259 + fi 5260 + prev= 5261 + continue 5262 + ;; 5263 + *) 5264 + if test "$prev" = dlfiles; then 5265 + func_append dlfiles " $arg" 5266 + else 5267 + func_append dlprefiles " $arg" 5268 + fi 5269 + prev= 5270 + continue 5271 + ;; 5272 + esac 5273 + ;; 5274 + expsyms) 5275 + export_symbols="$arg" 5276 + test -f "$arg" \ 5277 + || func_fatal_error "symbol file \`$arg' does not exist" 5278 + prev= 5279 + continue 5280 + ;; 5281 + expsyms_regex) 5282 + export_symbols_regex="$arg" 5283 + prev= 5284 + continue 5285 + ;; 5286 + framework) 5287 + case $host in 5288 + *-*-darwin*) 5289 + case "$deplibs " in 5290 + *" $qarg.ltframework "*) ;; 5291 + *) func_append deplibs " $qarg.ltframework" # this is fixed later 5292 + ;; 5293 + esac 5294 + ;; 5295 + esac 5296 + prev= 5297 + continue 5298 + ;; 5299 + inst_prefix) 5300 + inst_prefix_dir="$arg" 5301 + prev= 5302 + continue 5303 + ;; 5304 + objectlist) 5305 + if test -f "$arg"; then 5306 + save_arg=$arg 5307 + moreargs= 5308 + for fil in `cat "$save_arg"` 5309 + do 5310 +# func_append moreargs " $fil" 5311 + arg=$fil 5312 + # A libtool-controlled object. 5313 + 5314 + # Check to see that this really is a libtool object. 5315 + if func_lalib_unsafe_p "$arg"; then 5316 + pic_object= 5317 + non_pic_object= 5318 + 5319 + # Read the .lo file 5320 + func_source "$arg" 5321 + 5322 + if test -z "$pic_object" || 5323 + test -z "$non_pic_object" || 5324 + test "$pic_object" = none && 5325 + test "$non_pic_object" = none; then 5326 + func_fatal_error "cannot find name of object for \`$arg'" 5327 + fi 5328 + 5329 + # Extract subdirectory from the argument. 5330 + func_dirname "$arg" "/" "" 5331 + xdir="$func_dirname_result" 5332 + 5333 + if test "$pic_object" != none; then 5334 + # Prepend the subdirectory the object is found in. 5335 + pic_object="$xdir$pic_object" 5336 + 5337 + if test "$prev" = dlfiles; then 5338 + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then 5339 + func_append dlfiles " $pic_object" 5340 + prev= 5341 + continue 5342 + else 5343 + # If libtool objects are unsupported, then we need to preload. 5344 + prev=dlprefiles 5345 + fi 5346 + fi 5347 + 5348 + # CHECK ME: I think I busted this. -Ossama 5349 + if test "$prev" = dlprefiles; then 5350 + # Preload the old-style object. 5351 + func_append dlprefiles " $pic_object" 5352 + prev= 5353 + fi 5354 + 5355 + # A PIC object. 5356 + func_append libobjs " $pic_object" 5357 + arg="$pic_object" 5358 + fi 5359 + 5360 + # Non-PIC object. 5361 + if test "$non_pic_object" != none; then 5362 + # Prepend the subdirectory the object is found in. 5363 + non_pic_object="$xdir$non_pic_object" 5364 + 5365 + # A standard non-PIC object 5366 + func_append non_pic_objects " $non_pic_object" 5367 + if test -z "$pic_object" || test "$pic_object" = none ; then 5368 + arg="$non_pic_object" 5369 + fi 5370 + else 5371 + # If the PIC object exists, use it instead. 5372 + # $xdir was prepended to $pic_object above. 5373 + non_pic_object="$pic_object" 5374 + func_append non_pic_objects " $non_pic_object" 5375 + fi 5376 + else 5377 + # Only an error if not doing a dry-run. 5378 + if $opt_dry_run; then 5379 + # Extract subdirectory from the argument. 5380 + func_dirname "$arg" "/" "" 5381 + xdir="$func_dirname_result" 5382 + 5383 + func_lo2o "$arg" 5384 + pic_object=$xdir$objdir/$func_lo2o_result 5385 + non_pic_object=$xdir$func_lo2o_result 5386 + func_append libobjs " $pic_object" 5387 + func_append non_pic_objects " $non_pic_object" 5388 + else 5389 + func_fatal_error "\`$arg' is not a valid libtool object" 5390 + fi 5391 + fi 5392 + done 5393 + else 5394 + func_fatal_error "link input file \`$arg' does not exist" 5395 + fi 5396 + arg=$save_arg 5397 + prev= 5398 + continue 5399 + ;; 5400 + precious_regex) 5401 + precious_files_regex="$arg" 5402 + prev= 5403 + continue 5404 + ;; 5405 + release) 5406 + release="-$arg" 5407 + prev= 5408 + continue 5409 + ;; 5410 + rpath | xrpath) 5411 + # We need an absolute path. 5412 + case $arg in 5413 + [\\/]* | [A-Za-z]:[\\/]*) ;; 5414 + *) 5415 + func_fatal_error "only absolute run-paths are allowed" 5416 + ;; 5417 + esac 5418 + if test "$prev" = rpath; then 5419 + case "$rpath " in 5420 + *" $arg "*) ;; 5421 + *) func_append rpath " $arg" ;; 5422 + esac 5423 + else 5424 + case "$xrpath " in 5425 + *" $arg "*) ;; 5426 + *) func_append xrpath " $arg" ;; 5427 + esac 5428 + fi 5429 + prev= 5430 + continue 5431 + ;; 5432 + shrext) 5433 + shrext_cmds="$arg" 5434 + prev= 5435 + continue 5436 + ;; 5437 + weak) 5438 + func_append weak_libs " $arg" 5439 + prev= 5440 + continue 5441 + ;; 5442 + xcclinker) 5443 + func_append linker_flags " $qarg" 5444 + func_append compiler_flags " $qarg" 5445 + prev= 5446 + func_append compile_command " $qarg" 5447 + func_append finalize_command " $qarg" 5448 + continue 5449 + ;; 5450 + xcompiler) 5451 + func_append compiler_flags " $qarg" 5452 + prev= 5453 + func_append compile_command " $qarg" 5454 + func_append finalize_command " $qarg" 5455 + continue 5456 + ;; 5457 + xlinker) 5458 + func_append linker_flags " $qarg" 5459 + func_append compiler_flags " $wl$qarg" 5460 + prev= 5461 + func_append compile_command " $wl$qarg" 5462 + func_append finalize_command " $wl$qarg" 5463 + continue 5464 + ;; 5465 + *) 5466 + eval "$prev=\"\$arg\"" 5467 + prev= 5468 + continue 5469 + ;; 5470 + esac 5471 + fi # test -n "$prev" 5472 + 5473 + prevarg="$arg" 5474 + 5475 + case $arg in 5476 + -all-static) 5477 + if test -n "$link_static_flag"; then 5478 + # See comment for -static flag below, for more details. 5479 + func_append compile_command " $link_static_flag" 5480 + func_append finalize_command " $link_static_flag" 5481 + fi 5482 + continue 5483 + ;; 5484 + 5485 + -allow-undefined) 5486 + # FIXME: remove this flag sometime in the future. 5487 + func_fatal_error "\`-allow-undefined' must not be used because it is the default" 5488 + ;; 5489 + 5490 + -avoid-version) 5491 + avoid_version=yes 5492 + continue 5493 + ;; 5494 + 5495 + -bindir) 5496 + prev=bindir 5497 + continue 5498 + ;; 5499 + 5500 + -dlopen) 5501 + prev=dlfiles 5502 + continue 5503 + ;; 5504 + 5505 + -dlpreopen) 5506 + prev=dlprefiles 5507 + continue 5508 + ;; 5509 + 5510 + -export-dynamic) 5511 + export_dynamic=yes 5512 + continue 5513 + ;; 5514 + 5515 + -export-symbols | -export-symbols-regex) 5516 + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then 5517 + func_fatal_error "more than one -exported-symbols argument is not allowed" 5518 + fi 5519 + if test "X$arg" = "X-export-symbols"; then 5520 + prev=expsyms 5521 + else 5522 + prev=expsyms_regex 5523 + fi 5524 + continue 5525 + ;; 5526 + 5527 + -framework) 5528 + prev=framework 5529 + continue 5530 + ;; 5531 + 5532 + -inst-prefix-dir) 5533 + prev=inst_prefix 5534 + continue 5535 + ;; 5536 + 5537 + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* 5538 + # so, if we see these flags be careful not to treat them like -L 5539 + -L[A-Z][A-Z]*:*) 5540 + case $with_gcc/$host in 5541 + no/*-*-irix* | /*-*-irix*) 5542 + func_append compile_command " $arg" 5543 + func_append finalize_command " $arg" 5544 + ;; 5545 + esac 5546 + continue 5547 + ;; 5548 + 5549 + -L*) 5550 + func_stripname "-L" '' "$arg" 5551 + if test -z "$func_stripname_result"; then 5552 + if test "$#" -gt 0; then 5553 + func_fatal_error "require no space between \`-L' and \`$1'" 5554 + else 5555 + func_fatal_error "need path for \`-L' option" 5556 + fi 5557 + fi 5558 + func_resolve_sysroot "$func_stripname_result" 5559 + dir=$func_resolve_sysroot_result 5560 + # We need an absolute path. 5561 + case $dir in 5562 + [\\/]* | [A-Za-z]:[\\/]*) ;; 5563 + *) 5564 + absdir=`cd "$dir" && pwd` 5565 + test -z "$absdir" && \ 5566 + func_fatal_error "cannot determine absolute directory name of \`$dir'" 5567 + dir="$absdir" 5568 + ;; 5569 + esac 5570 + case "$deplibs " in 5571 + *" -L$dir "* | *" $arg "*) 5572 + # Will only happen for absolute or sysroot arguments 5573 + ;; 5574 + *) 5575 + # Preserve sysroot, but never include relative directories 5576 + case $dir in 5577 + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; 5578 + *) func_append deplibs " -L$dir" ;; 5579 + esac 5580 + func_append lib_search_path " $dir" 5581 + ;; 5582 + esac 5583 + case $host in 5584 + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) 5585 + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` 5586 + case :$dllsearchpath: in 5587 + *":$dir:"*) ;; 5588 + ::) dllsearchpath=$dir;; 5589 + *) func_append dllsearchpath ":$dir";; 5590 + esac 5591 + case :$dllsearchpath: in 5592 + *":$testbindir:"*) ;; 5593 + ::) dllsearchpath=$testbindir;; 5594 + *) func_append dllsearchpath ":$testbindir";; 5595 + esac 5596 + ;; 5597 + esac 5598 + continue 5599 + ;; 5600 + 5601 + -l*) 5602 + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then 5603 + case $host in 5604 + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) 5605 + # These systems don't actually have a C or math library (as such) 5606 + continue 5607 + ;; 5608 + *-*-os2*) 5609 + # These systems don't actually have a C library (as such) 5610 + test "X$arg" = "X-lc" && continue 5611 + ;; 5612 + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) 5613 + # Do not include libc due to us having libc/libc_r. 5614 + test "X$arg" = "X-lc" && continue 5615 + ;; 5616 + *-*-rhapsody* | *-*-darwin1.[012]) 5617 + # Rhapsody C and math libraries are in the System framework 5618 + func_append deplibs " System.ltframework" 5619 + continue 5620 + ;; 5621 + *-*-sco3.2v5* | *-*-sco5v6*) 5622 + # Causes problems with __ctype 5623 + test "X$arg" = "X-lc" && continue 5624 + ;; 5625 + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) 5626 + # Compiler inserts libc in the correct place for threads to work 5627 + test "X$arg" = "X-lc" && continue 5628 + ;; 5629 + esac 5630 + elif test "X$arg" = "X-lc_r"; then 5631 + case $host in 5632 + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) 5633 + # Do not include libc_r directly, use -pthread flag. 5634 + continue 5635 + ;; 5636 + esac 5637 + fi 5638 + func_append deplibs " $arg" 5639 + continue 5640 + ;; 5641 + 5642 + -module) 5643 + module=yes 5644 + continue 5645 + ;; 5646 + 5647 + # Tru64 UNIX uses -model [arg] to determine the layout of C++ 5648 + # classes, name mangling, and exception handling. 5649 + # Darwin uses the -arch flag to determine output architecture. 5650 + -model|-arch|-isysroot|--sysroot) 5651 + func_append compiler_flags " $arg" 5652 + func_append compile_command " $arg" 5653 + func_append finalize_command " $arg" 5654 + prev=xcompiler 5655 + continue 5656 + ;; 5657 + 5658 + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ 5659 + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) 5660 + func_append compiler_flags " $arg" 5661 + func_append compile_command " $arg" 5662 + func_append finalize_command " $arg" 5663 + case "$new_inherited_linker_flags " in 5664 + *" $arg "*) ;; 5665 + * ) func_append new_inherited_linker_flags " $arg" ;; 5666 + esac 5667 + continue 5668 + ;; 5669 + 5670 + -multi_module) 5671 + single_module="${wl}-multi_module" 5672 + continue 5673 + ;; 5674 + 5675 + -no-fast-install) 5676 + fast_install=no 5677 + continue 5678 + ;; 5679 + 5680 + -no-install) 5681 + case $host in 5682 + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) 5683 + # The PATH hackery in wrapper scripts is required on Windows 5684 + # and Darwin in order for the loader to find any dlls it needs. 5685 + func_warning "\`-no-install' is ignored for $host" 5686 + func_warning "assuming \`-no-fast-install' instead" 5687 + fast_install=no 5688 + ;; 5689 + *) no_install=yes ;; 5690 + esac 5691 + continue 5692 + ;; 5693 + 5694 + -no-undefined) 5695 + allow_undefined=no 5696 + continue 5697 + ;; 5698 + 5699 + -objectlist) 5700 + prev=objectlist 5701 + continue 5702 + ;; 5703 + 5704 + -o) prev=output ;; 5705 + 5706 + -precious-files-regex) 5707 + prev=precious_regex 5708 + continue 5709 + ;; 5710 + 5711 + -release) 5712 + prev=release 5713 + continue 5714 + ;; 5715 + 5716 + -rpath) 5717 + prev=rpath 5718 + continue 5719 + ;; 5720 + 5721 + -R) 5722 + prev=xrpath 5723 + continue 5724 + ;; 5725 + 5726 + -R*) 5727 + func_stripname '-R' '' "$arg" 5728 + dir=$func_stripname_result 5729 + # We need an absolute path. 5730 + case $dir in 5731 + [\\/]* | [A-Za-z]:[\\/]*) ;; 5732 + =*) 5733 + func_stripname '=' '' "$dir" 5734 + dir=$lt_sysroot$func_stripname_result 5735 + ;; 5736 + *) 5737 + func_fatal_error "only absolute run-paths are allowed" 5738 + ;; 5739 + esac 5740 + case "$xrpath " in 5741 + *" $dir "*) ;; 5742 + *) func_append xrpath " $dir" ;; 5743 + esac 5744 + continue 5745 + ;; 5746 + 5747 + -shared) 5748 + # The effects of -shared are defined in a previous loop. 5749 + continue 5750 + ;; 5751 + 5752 + -shrext) 5753 + prev=shrext 5754 + continue 5755 + ;; 5756 + 5757 + -static | -static-libtool-libs) 5758 + # The effects of -static are defined in a previous loop. 5759 + # We used to do the same as -all-static on platforms that 5760 + # didn't have a PIC flag, but the assumption that the effects 5761 + # would be equivalent was wrong. It would break on at least 5762 + # Digital Unix and AIX. 5763 + continue 5764 + ;; 5765 + 5766 + -thread-safe) 5767 + thread_safe=yes 5768 + continue 5769 + ;; 5770 + 5771 + -version-info) 5772 + prev=vinfo 5773 + continue 5774 + ;; 5775 + 5776 + -version-number) 5777 + prev=vinfo 5778 + vinfo_number=yes 5779 + continue 5780 + ;; 5781 + 5782 + -weak) 5783 + prev=weak 5784 + continue 5785 + ;; 5786 + 5787 + -Wc,*) 5788 + func_stripname '-Wc,' '' "$arg" 5789 + args=$func_stripname_result 5790 + arg= 5791 + save_ifs="$IFS"; IFS=',' 5792 + for flag in $args; do 5793 + IFS="$save_ifs" 5794 + func_quote_for_eval "$flag" 5795 + func_append arg " $func_quote_for_eval_result" 5796 + func_append compiler_flags " $func_quote_for_eval_result" 5797 + done 5798 + IFS="$save_ifs" 5799 + func_stripname ' ' '' "$arg" 5800 + arg=$func_stripname_result 5801 + ;; 5802 + 5803 + -Wl,*) 5804 + func_stripname '-Wl,' '' "$arg" 5805 + args=$func_stripname_result 5806 + arg= 5807 + save_ifs="$IFS"; IFS=',' 5808 + for flag in $args; do 5809 + IFS="$save_ifs" 5810 + func_quote_for_eval "$flag" 5811 + func_append arg " $wl$func_quote_for_eval_result" 5812 + func_append compiler_flags " $wl$func_quote_for_eval_result" 5813 + func_append linker_flags " $func_quote_for_eval_result" 5814 + done 5815 + IFS="$save_ifs" 5816 + func_stripname ' ' '' "$arg" 5817 + arg=$func_stripname_result 5818 + ;; 5819 + 5820 + -Xcompiler) 5821 + prev=xcompiler 5822 + continue 5823 + ;; 5824 + 5825 + -Xlinker) 5826 + prev=xlinker 5827 + continue 5828 + ;; 5829 + 5830 + -XCClinker) 5831 + prev=xcclinker 5832 + continue 5833 + ;; 5834 + 5835 + # -msg_* for osf cc 5836 + -msg_*) 5837 + func_quote_for_eval "$arg" 5838 + arg="$func_quote_for_eval_result" 5839 + ;; 5840 + 5841 + # Flags to be passed through unchanged, with rationale: 5842 + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler 5843 + # -r[0-9][0-9]* specify processor for the SGI compiler 5844 + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler 5845 + # +DA*, +DD* enable 64-bit mode for the HP compiler 5846 + # -q* compiler args for the IBM compiler 5847 + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC 5848 + # -F/path path to uninstalled frameworks, gcc on darwin 5849 + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC 5850 + # @file GCC response files 5851 + # -tp=* Portland pgcc target processor selection 5852 + # --sysroot=* for sysroot support 5853 + # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization 5854 + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ 5855 + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ 5856 + -O*|-flto*|-fwhopr*|-fuse-linker-plugin) 5857 + func_quote_for_eval "$arg" 5858 + arg="$func_quote_for_eval_result" 5859 + func_append compile_command " $arg" 5860 + func_append finalize_command " $arg" 5861 + func_append compiler_flags " $arg" 5862 + continue 5863 + ;; 5864 + 5865 + # Some other compiler flag. 5866 + -* | +*) 5867 + func_quote_for_eval "$arg" 5868 + arg="$func_quote_for_eval_result" 5869 + ;; 5870 + 5871 + *.$objext) 5872 + # A standard object. 5873 + func_append objs " $arg" 5874 + ;; 5875 + 5876 + *.lo) 5877 + # A libtool-controlled object. 5878 + 5879 + # Check to see that this really is a libtool object. 5880 + if func_lalib_unsafe_p "$arg"; then 5881 + pic_object= 5882 + non_pic_object= 5883 + 5884 + # Read the .lo file 5885 + func_source "$arg" 5886 + 5887 + if test -z "$pic_object" || 5888 + test -z "$non_pic_object" || 5889 + test "$pic_object" = none && 5890 + test "$non_pic_object" = none; then 5891 + func_fatal_error "cannot find name of object for \`$arg'" 5892 + fi 5893 + 5894 + # Extract subdirectory from the argument. 5895 + func_dirname "$arg" "/" "" 5896 + xdir="$func_dirname_result" 5897 + 5898 + if test "$pic_object" != none; then 5899 + # Prepend the subdirectory the object is found in. 5900 + pic_object="$xdir$pic_object" 5901 + 5902 + if test "$prev" = dlfiles; then 5903 + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then 5904 + func_append dlfiles " $pic_object" 5905 + prev= 5906 + continue 5907 + else 5908 + # If libtool objects are unsupported, then we need to preload. 5909 + prev=dlprefiles 5910 + fi 5911 + fi 5912 + 5913 + # CHECK ME: I think I busted this. -Ossama 5914 + if test "$prev" = dlprefiles; then 5915 + # Preload the old-style object. 5916 + func_append dlprefiles " $pic_object" 5917 + prev= 5918 + fi 5919 + 5920 + # A PIC object. 5921 + func_append libobjs " $pic_object" 5922 + arg="$pic_object" 5923 + fi 5924 + 5925 + # Non-PIC object. 5926 + if test "$non_pic_object" != none; then 5927 + # Prepend the subdirectory the object is found in. 5928 + non_pic_object="$xdir$non_pic_object" 5929 + 5930 + # A standard non-PIC object 5931 + func_append non_pic_objects " $non_pic_object" 5932 + if test -z "$pic_object" || test "$pic_object" = none ; then 5933 + arg="$non_pic_object" 5934 + fi 5935 + else 5936 + # If the PIC object exists, use it instead. 5937 + # $xdir was prepended to $pic_object above. 5938 + non_pic_object="$pic_object" 5939 + func_append non_pic_objects " $non_pic_object" 5940 + fi 5941 + else 5942 + # Only an error if not doing a dry-run. 5943 + if $opt_dry_run; then 5944 + # Extract subdirectory from the argument. 5945 + func_dirname "$arg" "/" "" 5946 + xdir="$func_dirname_result" 5947 + 5948 + func_lo2o "$arg" 5949 + pic_object=$xdir$objdir/$func_lo2o_result 5950 + non_pic_object=$xdir$func_lo2o_result 5951 + func_append libobjs " $pic_object" 5952 + func_append non_pic_objects " $non_pic_object" 5953 + else 5954 + func_fatal_error "\`$arg' is not a valid libtool object" 5955 + fi 5956 + fi 5957 + ;; 5958 + 5959 + *.$libext) 5960 + # An archive. 5961 + func_append deplibs " $arg" 5962 + func_append old_deplibs " $arg" 5963 + continue 5964 + ;; 5965 + 5966 + *.la) 5967 + # A libtool-controlled library. 5968 + 5969 + func_resolve_sysroot "$arg" 5970 + if test "$prev" = dlfiles; then 5971 + # This library was specified with -dlopen. 5972 + func_append dlfiles " $func_resolve_sysroot_result" 5973 + prev= 5974 + elif test "$prev" = dlprefiles; then 5975 + # The library was specified with -dlpreopen. 5976 + func_append dlprefiles " $func_resolve_sysroot_result" 5977 + prev= 5978 + else 5979 + func_append deplibs " $func_resolve_sysroot_result" 5980 + fi 5981 + continue 5982 + ;; 5983 + 5984 + # Some other compiler argument. 5985 + *) 5986 + # Unknown arguments in both finalize_command and compile_command need 5987 + # to be aesthetically quoted because they are evaled later. 5988 + func_quote_for_eval "$arg" 5989 + arg="$func_quote_for_eval_result" 5990 + ;; 5991 + esac # arg 5992 + 5993 + # Now actually substitute the argument into the commands. 5994 + if test -n "$arg"; then 5995 + func_append compile_command " $arg" 5996 + func_append finalize_command " $arg" 5997 + fi 5998 + done # argument parsing loop 5999 + 6000 + test -n "$prev" && \ 6001 + func_fatal_help "the \`$prevarg' option requires an argument" 6002 + 6003 + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then 6004 + eval arg=\"$export_dynamic_flag_spec\" 6005 + func_append compile_command " $arg" 6006 + func_append finalize_command " $arg" 6007 + fi 6008 + 6009 + oldlibs= 6010 + # calculate the name of the file, without its directory 6011 + func_basename "$output" 6012 + outputname="$func_basename_result" 6013 + libobjs_save="$libobjs" 6014 + 6015 + if test -n "$shlibpath_var"; then 6016 + # get the directories listed in $shlibpath_var 6017 + eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` 6018 + else 6019 + shlib_search_path= 6020 + fi 6021 + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" 6022 + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" 6023 + 6024 + func_dirname "$output" "/" "" 6025 + output_objdir="$func_dirname_result$objdir" 6026 + func_to_tool_file "$output_objdir/" 6027 + tool_output_objdir=$func_to_tool_file_result 6028 + # Create the object directory. 6029 + func_mkdir_p "$output_objdir" 6030 + 6031 + # Determine the type of output 6032 + case $output in 6033 + "") 6034 + func_fatal_help "you must specify an output file" 6035 + ;; 6036 + *.$libext) linkmode=oldlib ;; 6037 + *.lo | *.$objext) linkmode=obj ;; 6038 + *.la) linkmode=lib ;; 6039 + *) linkmode=prog ;; # Anything else should be a program. 6040 + esac 6041 + 6042 + specialdeplibs= 6043 + 6044 + libs= 6045 + # Find all interdependent deplibs by searching for libraries 6046 + # that are linked more than once (e.g. -la -lb -la) 6047 + for deplib in $deplibs; do 6048 + if $opt_preserve_dup_deps ; then 6049 + case "$libs " in 6050 + *" $deplib "*) func_append specialdeplibs " $deplib" ;; 6051 + esac 6052 + fi 6053 + func_append libs " $deplib" 6054 + done 6055 + 6056 + if test "$linkmode" = lib; then 6057 + libs="$predeps $libs $compiler_lib_search_path $postdeps" 6058 + 6059 + # Compute libraries that are listed more than once in $predeps 6060 + # $postdeps and mark them as special (i.e., whose duplicates are 6061 + # not to be eliminated). 6062 + pre_post_deps= 6063 + if $opt_duplicate_compiler_generated_deps; then 6064 + for pre_post_dep in $predeps $postdeps; do 6065 + case "$pre_post_deps " in 6066 + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; 6067 + esac 6068 + func_append pre_post_deps " $pre_post_dep" 6069 + done 6070 + fi 6071 + pre_post_deps= 6072 + fi 6073 + 6074 + deplibs= 6075 + newdependency_libs= 6076 + newlib_search_path= 6077 + need_relink=no # whether we're linking any uninstalled libtool libraries 6078 + notinst_deplibs= # not-installed libtool libraries 6079 + notinst_path= # paths that contain not-installed libtool libraries 6080 + 6081 + case $linkmode in 6082 + lib) 6083 + passes="conv dlpreopen link" 6084 + for file in $dlfiles $dlprefiles; do 6085 + case $file in 6086 + *.la) ;; 6087 + *) 6088 + func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" 6089 + ;; 6090 + esac 6091 + done 6092 + ;; 6093 + prog) 6094 + compile_deplibs= 6095 + finalize_deplibs= 6096 + alldeplibs=no 6097 + newdlfiles= 6098 + newdlprefiles= 6099 + passes="conv scan dlopen dlpreopen link" 6100 + ;; 6101 + *) passes="conv" 6102 + ;; 6103 + esac 6104 + 6105 + for pass in $passes; do 6106 + # The preopen pass in lib mode reverses $deplibs; put it back here 6107 + # so that -L comes before libs that need it for instance... 6108 + if test "$linkmode,$pass" = "lib,link"; then 6109 + ## FIXME: Find the place where the list is rebuilt in the wrong 6110 + ## order, and fix it there properly 6111 + tmp_deplibs= 6112 + for deplib in $deplibs; do 6113 + tmp_deplibs="$deplib $tmp_deplibs" 6114 + done 6115 + deplibs="$tmp_deplibs" 6116 + fi 6117 + 6118 + if test "$linkmode,$pass" = "lib,link" || 6119 + test "$linkmode,$pass" = "prog,scan"; then 6120 + libs="$deplibs" 6121 + deplibs= 6122 + fi 6123 + if test "$linkmode" = prog; then 6124 + case $pass in 6125 + dlopen) libs="$dlfiles" ;; 6126 + dlpreopen) libs="$dlprefiles" ;; 6127 + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; 6128 + esac 6129 + fi 6130 + if test "$linkmode,$pass" = "lib,dlpreopen"; then 6131 + # Collect and forward deplibs of preopened libtool libs 6132 + for lib in $dlprefiles; do 6133 + # Ignore non-libtool-libs 6134 + dependency_libs= 6135 + func_resolve_sysroot "$lib" 6136 + case $lib in 6137 + *.la) func_source "$func_resolve_sysroot_result" ;; 6138 + esac 6139 + 6140 + # Collect preopened libtool deplibs, except any this library 6141 + # has declared as weak libs 6142 + for deplib in $dependency_libs; do 6143 + func_basename "$deplib" 6144 + deplib_base=$func_basename_result 6145 + case " $weak_libs " in 6146 + *" $deplib_base "*) ;; 6147 + *) func_append deplibs " $deplib" ;; 6148 + esac 6149 + done 6150 + done 6151 + libs="$dlprefiles" 6152 + fi 6153 + if test "$pass" = dlopen; then 6154 + # Collect dlpreopened libraries 6155 + save_deplibs="$deplibs" 6156 + deplibs= 6157 + fi 6158 + 6159 + for deplib in $libs; do 6160 + lib= 6161 + found=no 6162 + case $deplib in 6163 + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ 6164 + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) 6165 + if test "$linkmode,$pass" = "prog,link"; then 6166 + compile_deplibs="$deplib $compile_deplibs" 6167 + finalize_deplibs="$deplib $finalize_deplibs" 6168 + else 6169 + func_append compiler_flags " $deplib" 6170 + if test "$linkmode" = lib ; then 6171 + case "$new_inherited_linker_flags " in 6172 + *" $deplib "*) ;; 6173 + * ) func_append new_inherited_linker_flags " $deplib" ;; 6174 + esac 6175 + fi 6176 + fi 6177 + continue 6178 + ;; 6179 + -l*) 6180 + if test "$linkmode" != lib && test "$linkmode" != prog; then 6181 + func_warning "\`-l' is ignored for archives/objects" 6182 + continue 6183 + fi 6184 + func_stripname '-l' '' "$deplib" 6185 + name=$func_stripname_result 6186 + if test "$linkmode" = lib; then 6187 + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" 6188 + else 6189 + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" 6190 + fi 6191 + for searchdir in $searchdirs; do 6192 + for search_ext in .la $std_shrext .so .a; do 6193 + # Search the libtool library 6194 + lib="$searchdir/lib${name}${search_ext}" 6195 + if test -f "$lib"; then 6196 + if test "$search_ext" = ".la"; then 6197 + found=yes 6198 + else 6199 + found=no 6200 + fi 6201 + break 2 6202 + fi 6203 + done 6204 + done 6205 + if test "$found" != yes; then 6206 + # deplib doesn't seem to be a libtool library 6207 + if test "$linkmode,$pass" = "prog,link"; then 6208 + compile_deplibs="$deplib $compile_deplibs" 6209 + finalize_deplibs="$deplib $finalize_deplibs" 6210 + else 6211 + deplibs="$deplib $deplibs" 6212 + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" 6213 + fi 6214 + continue 6215 + else # deplib is a libtool library 6216 + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, 6217 + # We need to do some special things here, and not later. 6218 + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 6219 + case " $predeps $postdeps " in 6220 + *" $deplib "*) 6221 + if func_lalib_p "$lib"; then 6222 + library_names= 6223 + old_library= 6224 + func_source "$lib" 6225 + for l in $old_library $library_names; do 6226 + ll="$l" 6227 + done 6228 + if test "X$ll" = "X$old_library" ; then # only static version available 6229 + found=no 6230 + func_dirname "$lib" "" "." 6231 + ladir="$func_dirname_result" 6232 + lib=$ladir/$old_library 6233 + if test "$linkmode,$pass" = "prog,link"; then 6234 + compile_deplibs="$deplib $compile_deplibs" 6235 + finalize_deplibs="$deplib $finalize_deplibs" 6236 + else 6237 + deplibs="$deplib $deplibs" 6238 + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" 6239 + fi 6240 + continue 6241 + fi 6242 + fi 6243 + ;; 6244 + *) ;; 6245 + esac 6246 + fi 6247 + fi 6248 + ;; # -l 6249 + *.ltframework) 6250 + if test "$linkmode,$pass" = "prog,link"; then 6251 + compile_deplibs="$deplib $compile_deplibs" 6252 + finalize_deplibs="$deplib $finalize_deplibs" 6253 + else 6254 + deplibs="$deplib $deplibs" 6255 + if test "$linkmode" = lib ; then 6256 + case "$new_inherited_linker_flags " in 6257 + *" $deplib "*) ;; 6258 + * ) func_append new_inherited_linker_flags " $deplib" ;; 6259 + esac 6260 + fi 6261 + fi 6262 + continue 6263 + ;; 6264 + -L*) 6265 + case $linkmode in 6266 + lib) 6267 + deplibs="$deplib $deplibs" 6268 + test "$pass" = conv && continue 6269 + newdependency_libs="$deplib $newdependency_libs" 6270 + func_stripname '-L' '' "$deplib" 6271 + func_resolve_sysroot "$func_stripname_result" 6272 + func_append newlib_search_path " $func_resolve_sysroot_result" 6273 + ;; 6274 + prog) 6275 + if test "$pass" = conv; then 6276 + deplibs="$deplib $deplibs" 6277 + continue 6278 + fi 6279 + if test "$pass" = scan; then 6280 + deplibs="$deplib $deplibs" 6281 + else 6282 + compile_deplibs="$deplib $compile_deplibs" 6283 + finalize_deplibs="$deplib $finalize_deplibs" 6284 + fi 6285 + func_stripname '-L' '' "$deplib" 6286 + func_resolve_sysroot "$func_stripname_result" 6287 + func_append newlib_search_path " $func_resolve_sysroot_result" 6288 + ;; 6289 + *) 6290 + func_warning "\`-L' is ignored for archives/objects" 6291 + ;; 6292 + esac # linkmode 6293 + continue 6294 + ;; # -L 6295 + -R*) 6296 + if test "$pass" = link; then 6297 + func_stripname '-R' '' "$deplib" 6298 + func_resolve_sysroot "$func_stripname_result" 6299 + dir=$func_resolve_sysroot_result 6300 + # Make sure the xrpath contains only unique directories. 6301 + case "$xrpath " in 6302 + *" $dir "*) ;; 6303 + *) func_append xrpath " $dir" ;; 6304 + esac 6305 + fi 6306 + deplibs="$deplib $deplibs" 6307 + continue 6308 + ;; 6309 + *.la) 6310 + func_resolve_sysroot "$deplib" 6311 + lib=$func_resolve_sysroot_result 6312 + ;; 6313 + *.$libext) 6314 + if test "$pass" = conv; then 6315 + deplibs="$deplib $deplibs" 6316 + continue 6317 + fi 6318 + case $linkmode in 6319 + lib) 6320 + # Linking convenience modules into shared libraries is allowed, 6321 + # but linking other static libraries is non-portable. 6322 + case " $dlpreconveniencelibs " in 6323 + *" $deplib "*) ;; 6324 + *) 6325 + valid_a_lib=no 6326 + case $deplibs_check_method in 6327 + match_pattern*) 6328 + set dummy $deplibs_check_method; shift 6329 + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` 6330 + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ 6331 + | $EGREP "$match_pattern_regex" > /dev/null; then 6332 + valid_a_lib=yes 6333 + fi 6334 + ;; 6335 + pass_all) 6336 + valid_a_lib=yes 6337 + ;; 6338 + esac 6339 + if test "$valid_a_lib" != yes; then 6340 + echo 6341 + $ECHO "*** Warning: Trying to link with static lib archive $deplib." 6342 + echo "*** I have the capability to make that library automatically link in when" 6343 + echo "*** you link to this library. But I can only do this if you have a" 6344 + echo "*** shared version of the library, which you do not appear to have" 6345 + echo "*** because the file extensions .$libext of this argument makes me believe" 6346 + echo "*** that it is just a static archive that I should not use here." 6347 + else 6348 + echo 6349 + $ECHO "*** Warning: Linking the shared library $output against the" 6350 + $ECHO "*** static library $deplib is not portable!" 6351 + deplibs="$deplib $deplibs" 6352 + fi 6353 + ;; 6354 + esac 6355 + continue 6356 + ;; 6357 + prog) 6358 + if test "$pass" != link; then 6359 + deplibs="$deplib $deplibs" 6360 + else 6361 + compile_deplibs="$deplib $compile_deplibs" 6362 + finalize_deplibs="$deplib $finalize_deplibs" 6363 + fi 6364 + continue 6365 + ;; 6366 + esac # linkmode 6367 + ;; # *.$libext 6368 + *.lo | *.$objext) 6369 + if test "$pass" = conv; then 6370 + deplibs="$deplib $deplibs" 6371 + elif test "$linkmode" = prog; then 6372 + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then 6373 + # If there is no dlopen support or we're linking statically, 6374 + # we need to preload. 6375 + func_append newdlprefiles " $deplib" 6376 + compile_deplibs="$deplib $compile_deplibs" 6377 + finalize_deplibs="$deplib $finalize_deplibs" 6378 + else 6379 + func_append newdlfiles " $deplib" 6380 + fi 6381 + fi 6382 + continue 6383 + ;; 6384 + %DEPLIBS%) 6385 + alldeplibs=yes 6386 + continue 6387 + ;; 6388 + esac # case $deplib 6389 + 6390 + if test "$found" = yes || test -f "$lib"; then : 6391 + else 6392 + func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" 6393 + fi 6394 + 6395 + # Check to see that this really is a libtool archive. 6396 + func_lalib_unsafe_p "$lib" \ 6397 + || func_fatal_error "\`$lib' is not a valid libtool archive" 6398 + 6399 + func_dirname "$lib" "" "." 6400 + ladir="$func_dirname_result" 6401 + 6402 + dlname= 6403 + dlopen= 6404 + dlpreopen= 6405 + libdir= 6406 + library_names= 6407 + old_library= 6408 + inherited_linker_flags= 6409 + # If the library was installed with an old release of libtool, 6410 + # it will not redefine variables installed, or shouldnotlink 6411 + installed=yes 6412 + shouldnotlink=no 6413 + avoidtemprpath= 6414 + 6415 + 6416 + # Read the .la file 6417 + func_source "$lib" 6418 + 6419 + # Convert "-framework foo" to "foo.ltframework" 6420 + if test -n "$inherited_linker_flags"; then 6421 + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` 6422 + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do 6423 + case " $new_inherited_linker_flags " in 6424 + *" $tmp_inherited_linker_flag "*) ;; 6425 + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; 6426 + esac 6427 + done 6428 + fi 6429 + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` 6430 + if test "$linkmode,$pass" = "lib,link" || 6431 + test "$linkmode,$pass" = "prog,scan" || 6432 + { test "$linkmode" != prog && test "$linkmode" != lib; }; then 6433 + test -n "$dlopen" && func_append dlfiles " $dlopen" 6434 + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" 6435 + fi 6436 + 6437 + if test "$pass" = conv; then 6438 + # Only check for convenience libraries 6439 + deplibs="$lib $deplibs" 6440 + if test -z "$libdir"; then 6441 + if test -z "$old_library"; then 6442 + func_fatal_error "cannot find name of link library for \`$lib'" 6443 + fi 6444 + # It is a libtool convenience library, so add in its objects. 6445 + func_append convenience " $ladir/$objdir/$old_library" 6446 + func_append old_convenience " $ladir/$objdir/$old_library" 6447 + elif test "$linkmode" != prog && test "$linkmode" != lib; then 6448 + func_fatal_error "\`$lib' is not a convenience library" 6449 + fi 6450 + tmp_libs= 6451 + for deplib in $dependency_libs; do 6452 + deplibs="$deplib $deplibs" 6453 + if $opt_preserve_dup_deps ; then 6454 + case "$tmp_libs " in 6455 + *" $deplib "*) func_append specialdeplibs " $deplib" ;; 6456 + esac 6457 + fi 6458 + func_append tmp_libs " $deplib" 6459 + done 6460 + continue 6461 + fi # $pass = conv 6462 + 6463 + 6464 + # Get the name of the library we link against. 6465 + linklib= 6466 + if test -n "$old_library" && 6467 + { test "$prefer_static_libs" = yes || 6468 + test "$prefer_static_libs,$installed" = "built,no"; }; then 6469 + linklib=$old_library 6470 + else 6471 + for l in $old_library $library_names; do 6472 + linklib="$l" 6473 + done 6474 + fi 6475 + if test -z "$linklib"; then 6476 + func_fatal_error "cannot find name of link library for \`$lib'" 6477 + fi 6478 + 6479 + # This library was specified with -dlopen. 6480 + if test "$pass" = dlopen; then 6481 + if test -z "$libdir"; then 6482 + func_fatal_error "cannot -dlopen a convenience library: \`$lib'" 6483 + fi 6484 + if test -z "$dlname" || 6485 + test "$dlopen_support" != yes || 6486 + test "$build_libtool_libs" = no; then 6487 + # If there is no dlname, no dlopen support or we're linking 6488 + # statically, we need to preload. We also need to preload any 6489 + # dependent libraries so libltdl's deplib preloader doesn't 6490 + # bomb out in the load deplibs phase. 6491 + func_append dlprefiles " $lib $dependency_libs" 6492 + else 6493 + func_append newdlfiles " $lib" 6494 + fi 6495 + continue 6496 + fi # $pass = dlopen 6497 + 6498 + # We need an absolute path. 6499 + case $ladir in 6500 + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; 6501 + *) 6502 + abs_ladir=`cd "$ladir" && pwd` 6503 + if test -z "$abs_ladir"; then 6504 + func_warning "cannot determine absolute directory name of \`$ladir'" 6505 + func_warning "passing it literally to the linker, although it might fail" 6506 + abs_ladir="$ladir" 6507 + fi 6508 + ;; 6509 + esac 6510 + func_basename "$lib" 6511 + laname="$func_basename_result" 6512 + 6513 + # Find the relevant object directory and library name. 6514 + if test "X$installed" = Xyes; then 6515 + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then 6516 + func_warning "library \`$lib' was moved." 6517 + dir="$ladir" 6518 + absdir="$abs_ladir" 6519 + libdir="$abs_ladir" 6520 + else 6521 + dir="$lt_sysroot$libdir" 6522 + absdir="$lt_sysroot$libdir" 6523 + fi 6524 + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes 6525 + else 6526 + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then 6527 + dir="$ladir" 6528 + absdir="$abs_ladir" 6529 + # Remove this search path later 6530 + func_append notinst_path " $abs_ladir" 6531 + else 6532 + dir="$ladir/$objdir" 6533 + absdir="$abs_ladir/$objdir" 6534 + # Remove this search path later 6535 + func_append notinst_path " $abs_ladir" 6536 + fi 6537 + fi # $installed = yes 6538 + func_stripname 'lib' '.la' "$laname" 6539 + name=$func_stripname_result 6540 + 6541 + # This library was specified with -dlpreopen. 6542 + if test "$pass" = dlpreopen; then 6543 + if test -z "$libdir" && test "$linkmode" = prog; then 6544 + func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" 6545 + fi 6546 + case "$host" in 6547 + # special handling for platforms with PE-DLLs. 6548 + *cygwin* | *mingw* | *cegcc* ) 6549 + # Linker will automatically link against shared library if both 6550 + # static and shared are present. Therefore, ensure we extract 6551 + # symbols from the import library if a shared library is present 6552 + # (otherwise, the dlopen module name will be incorrect). We do 6553 + # this by putting the import library name into $newdlprefiles. 6554 + # We recover the dlopen module name by 'saving' the la file 6555 + # name in a special purpose variable, and (later) extracting the 6556 + # dlname from the la file. 6557 + if test -n "$dlname"; then 6558 + func_tr_sh "$dir/$linklib" 6559 + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" 6560 + func_append newdlprefiles " $dir/$linklib" 6561 + else 6562 + func_append newdlprefiles " $dir/$old_library" 6563 + # Keep a list of preopened convenience libraries to check 6564 + # that they are being used correctly in the link pass. 6565 + test -z "$libdir" && \ 6566 + func_append dlpreconveniencelibs " $dir/$old_library" 6567 + fi 6568 + ;; 6569 + * ) 6570 + # Prefer using a static library (so that no silly _DYNAMIC symbols 6571 + # are required to link). 6572 + if test -n "$old_library"; then 6573 + func_append newdlprefiles " $dir/$old_library" 6574 + # Keep a list of preopened convenience libraries to check 6575 + # that they are being used correctly in the link pass. 6576 + test -z "$libdir" && \ 6577 + func_append dlpreconveniencelibs " $dir/$old_library" 6578 + # Otherwise, use the dlname, so that lt_dlopen finds it. 6579 + elif test -n "$dlname"; then 6580 + func_append newdlprefiles " $dir/$dlname" 6581 + else 6582 + func_append newdlprefiles " $dir/$linklib" 6583 + fi 6584 + ;; 6585 + esac 6586 + fi # $pass = dlpreopen 6587 + 6588 + if test -z "$libdir"; then 6589 + # Link the convenience library 6590 + if test "$linkmode" = lib; then 6591 + deplibs="$dir/$old_library $deplibs" 6592 + elif test "$linkmode,$pass" = "prog,link"; then 6593 + compile_deplibs="$dir/$old_library $compile_deplibs" 6594 + finalize_deplibs="$dir/$old_library $finalize_deplibs" 6595 + else 6596 + deplibs="$lib $deplibs" # used for prog,scan pass 6597 + fi 6598 + continue 6599 + fi 6600 + 6601 + 6602 + if test "$linkmode" = prog && test "$pass" != link; then 6603 + func_append newlib_search_path " $ladir" 6604 + deplibs="$lib $deplibs" 6605 + 6606 + linkalldeplibs=no 6607 + if test "$link_all_deplibs" != no || test -z "$library_names" || 6608 + test "$build_libtool_libs" = no; then 6609 + linkalldeplibs=yes 6610 + fi 6611 + 6612 + tmp_libs= 6613 + for deplib in $dependency_libs; do 6614 + case $deplib in 6615 + -L*) func_stripname '-L' '' "$deplib" 6616 + func_resolve_sysroot "$func_stripname_result" 6617 + func_append newlib_search_path " $func_resolve_sysroot_result" 6618 + ;; 6619 + esac 6620 + # Need to link against all dependency_libs? 6621 + if test "$linkalldeplibs" = yes; then 6622 + deplibs="$deplib $deplibs" 6623 + else 6624 + # Need to hardcode shared library paths 6625 + # or/and link against static libraries 6626 + newdependency_libs="$deplib $newdependency_libs" 6627 + fi 6628 + if $opt_preserve_dup_deps ; then 6629 + case "$tmp_libs " in 6630 + *" $deplib "*) func_append specialdeplibs " $deplib" ;; 6631 + esac 6632 + fi 6633 + func_append tmp_libs " $deplib" 6634 + done # for deplib 6635 + continue 6636 + fi # $linkmode = prog... 6637 + 6638 + if test "$linkmode,$pass" = "prog,link"; then 6639 + if test -n "$library_names" && 6640 + { { test "$prefer_static_libs" = no || 6641 + test "$prefer_static_libs,$installed" = "built,yes"; } || 6642 + test -z "$old_library"; }; then 6643 + # We need to hardcode the library path 6644 + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then 6645 + # Make sure the rpath contains only unique directories. 6646 + case "$temp_rpath:" in 6647 + *"$absdir:"*) ;; 6648 + *) func_append temp_rpath "$absdir:" ;; 6649 + esac 6650 + fi 6651 + 6652 + # Hardcode the library path. 6653 + # Skip directories that are in the system default run-time 6654 + # search path. 6655 + case " $sys_lib_dlsearch_path " in 6656 + *" $absdir "*) ;; 6657 + *) 6658 + case "$compile_rpath " in 6659 + *" $absdir "*) ;; 6660 + *) func_append compile_rpath " $absdir" ;; 6661 + esac 6662 + ;; 6663 + esac 6664 + case " $sys_lib_dlsearch_path " in 6665 + *" $libdir "*) ;; 6666 + *) 6667 + case "$finalize_rpath " in 6668 + *" $libdir "*) ;; 6669 + *) func_append finalize_rpath " $libdir" ;; 6670 + esac 6671 + ;; 6672 + esac 6673 + fi # $linkmode,$pass = prog,link... 6674 + 6675 + if test "$alldeplibs" = yes && 6676 + { test "$deplibs_check_method" = pass_all || 6677 + { test "$build_libtool_libs" = yes && 6678 + test -n "$library_names"; }; }; then 6679 + # We only need to search for static libraries 6680 + continue 6681 + fi 6682 + fi 6683 + 6684 + link_static=no # Whether the deplib will be linked statically 6685 + use_static_libs=$prefer_static_libs 6686 + if test "$use_static_libs" = built && test "$installed" = yes; then 6687 + use_static_libs=no 6688 + fi 6689 + if test -n "$library_names" && 6690 + { test "$use_static_libs" = no || test -z "$old_library"; }; then 6691 + case $host in 6692 + *cygwin* | *mingw* | *cegcc*) 6693 + # No point in relinking DLLs because paths are not encoded 6694 + func_append notinst_deplibs " $lib" 6695 + need_relink=no 6696 + ;; 6697 + *) 6698 + if test "$installed" = no; then 6699 + func_append notinst_deplibs " $lib" 6700 + need_relink=yes 6701 + fi 6702 + ;; 6703 + esac 6704 + # This is a shared library 6705 + 6706 + # Warn about portability, can't link against -module's on some 6707 + # systems (darwin). Don't bleat about dlopened modules though! 6708 + dlopenmodule="" 6709 + for dlpremoduletest in $dlprefiles; do 6710 + if test "X$dlpremoduletest" = "X$lib"; then 6711 + dlopenmodule="$dlpremoduletest" 6712 + break 6713 + fi 6714 + done 6715 + if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then 6716 + echo 6717 + if test "$linkmode" = prog; then 6718 + $ECHO "*** Warning: Linking the executable $output against the loadable module" 6719 + else 6720 + $ECHO "*** Warning: Linking the shared library $output against the loadable module" 6721 + fi 6722 + $ECHO "*** $linklib is not portable!" 6723 + fi 6724 + if test "$linkmode" = lib && 6725 + test "$hardcode_into_libs" = yes; then 6726 + # Hardcode the library path. 6727 + # Skip directories that are in the system default run-time 6728 + # search path. 6729 + case " $sys_lib_dlsearch_path " in 6730 + *" $absdir "*) ;; 6731 + *) 6732 + case "$compile_rpath " in 6733 + *" $absdir "*) ;; 6734 + *) func_append compile_rpath " $absdir" ;; 6735 + esac 6736 + ;; 6737 + esac 6738 + case " $sys_lib_dlsearch_path " in 6739 + *" $libdir "*) ;; 6740 + *) 6741 + case "$finalize_rpath " in 6742 + *" $libdir "*) ;; 6743 + *) func_append finalize_rpath " $libdir" ;; 6744 + esac 6745 + ;; 6746 + esac 6747 + fi 6748 + 6749 + if test -n "$old_archive_from_expsyms_cmds"; then 6750 + # figure out the soname 6751 + set dummy $library_names 6752 + shift 6753 + realname="$1" 6754 + shift 6755 + libname=`eval "\\$ECHO \"$libname_spec\""` 6756 + # use dlname if we got it. it's perfectly good, no? 6757 + if test -n "$dlname"; then 6758 + soname="$dlname" 6759 + elif test -n "$soname_spec"; then 6760 + # bleh windows 6761 + case $host in 6762 + *cygwin* | mingw* | *cegcc*) 6763 + func_arith $current - $age 6764 + major=$func_arith_result 6765 + versuffix="-$major" 6766 + ;; 6767 + esac 6768 + eval soname=\"$soname_spec\" 6769 + else 6770 + soname="$realname" 6771 + fi 6772 + 6773 + # Make a new name for the extract_expsyms_cmds to use 6774 + soroot="$soname" 6775 + func_basename "$soroot" 6776 + soname="$func_basename_result" 6777 + func_stripname 'lib' '.dll' "$soname" 6778 + newlib=libimp-$func_stripname_result.a 6779 + 6780 + # If the library has no export list, then create one now 6781 + if test -f "$output_objdir/$soname-def"; then : 6782 + else 6783 + func_verbose "extracting exported symbol list from \`$soname'" 6784 + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' 6785 + fi 6786 + 6787 + # Create $newlib 6788 + if test -f "$output_objdir/$newlib"; then :; else 6789 + func_verbose "generating import library for \`$soname'" 6790 + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' 6791 + fi 6792 + # make sure the library variables are pointing to the new library 6793 + dir=$output_objdir 6794 + linklib=$newlib 6795 + fi # test -n "$old_archive_from_expsyms_cmds" 6796 + 6797 + if test "$linkmode" = prog || test "$opt_mode" != relink; then 6798 + add_shlibpath= 6799 + add_dir= 6800 + add= 6801 + lib_linked=yes 6802 + case $hardcode_action in 6803 + immediate | unsupported) 6804 + if test "$hardcode_direct" = no; then 6805 + add="$dir/$linklib" 6806 + case $host in 6807 + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; 6808 + *-*-sysv4*uw2*) add_dir="-L$dir" ;; 6809 + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ 6810 + *-*-unixware7*) add_dir="-L$dir" ;; 6811 + *-*-darwin* ) 6812 + # if the lib is a (non-dlopened) module then we can not 6813 + # link against it, someone is ignoring the earlier warnings 6814 + if /usr/bin/file -L $add 2> /dev/null | 6815 + $GREP ": [^:]* bundle" >/dev/null ; then 6816 + if test "X$dlopenmodule" != "X$lib"; then 6817 + $ECHO "*** Warning: lib $linklib is a module, not a shared library" 6818 + if test -z "$old_library" ; then 6819 + echo 6820 + echo "*** And there doesn't seem to be a static archive available" 6821 + echo "*** The link will probably fail, sorry" 6822 + else 6823 + add="$dir/$old_library" 6824 + fi 6825 + elif test -n "$old_library"; then 6826 + add="$dir/$old_library" 6827 + fi 6828 + fi 6829 + esac 6830 + elif test "$hardcode_minus_L" = no; then 6831 + case $host in 6832 + *-*-sunos*) add_shlibpath="$dir" ;; 6833 + esac 6834 + add_dir="-L$dir" 6835 + add="-l$name" 6836 + elif test "$hardcode_shlibpath_var" = no; then 6837 + add_shlibpath="$dir" 6838 + add="-l$name" 6839 + else 6840 + lib_linked=no 6841 + fi 6842 + ;; 6843 + relink) 6844 + if test "$hardcode_direct" = yes && 6845 + test "$hardcode_direct_absolute" = no; then 6846 + add="$dir/$linklib" 6847 + elif test "$hardcode_minus_L" = yes; then 6848 + add_dir="-L$absdir" 6849 + # Try looking first in the location we're being installed to. 6850 + if test -n "$inst_prefix_dir"; then 6851 + case $libdir in 6852 + [\\/]*) 6853 + func_append add_dir " -L$inst_prefix_dir$libdir" 6854 + ;; 6855 + esac 6856 + fi 6857 + add="-l$name" 6858 + elif test "$hardcode_shlibpath_var" = yes; then 6859 + add_shlibpath="$dir" 6860 + add="-l$name" 6861 + else 6862 + lib_linked=no 6863 + fi 6864 + ;; 6865 + *) lib_linked=no ;; 6866 + esac 6867 + 6868 + if test "$lib_linked" != yes; then 6869 + func_fatal_configuration "unsupported hardcode properties" 6870 + fi 6871 + 6872 + if test -n "$add_shlibpath"; then 6873 + case :$compile_shlibpath: in 6874 + *":$add_shlibpath:"*) ;; 6875 + *) func_append compile_shlibpath "$add_shlibpath:" ;; 6876 + esac 6877 + fi 6878 + if test "$linkmode" = prog; then 6879 + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" 6880 + test -n "$add" && compile_deplibs="$add $compile_deplibs" 6881 + else 6882 + test -n "$add_dir" && deplibs="$add_dir $deplibs" 6883 + test -n "$add" && deplibs="$add $deplibs" 6884 + if test "$hardcode_direct" != yes && 6885 + test "$hardcode_minus_L" != yes && 6886 + test "$hardcode_shlibpath_var" = yes; then 6887 + case :$finalize_shlibpath: in 6888 + *":$libdir:"*) ;; 6889 + *) func_append finalize_shlibpath "$libdir:" ;; 6890 + esac 6891 + fi 6892 + fi 6893 + fi 6894 + 6895 + if test "$linkmode" = prog || test "$opt_mode" = relink; then 6896 + add_shlibpath= 6897 + add_dir= 6898 + add= 6899 + # Finalize command for both is simple: just hardcode it. 6900 + if test "$hardcode_direct" = yes && 6901 + test "$hardcode_direct_absolute" = no; then 6902 + add="$libdir/$linklib" 6903 + elif test "$hardcode_minus_L" = yes; then 6904 + add_dir="-L$libdir" 6905 + add="-l$name" 6906 + elif test "$hardcode_shlibpath_var" = yes; then 6907 + case :$finalize_shlibpath: in 6908 + *":$libdir:"*) ;; 6909 + *) func_append finalize_shlibpath "$libdir:" ;; 6910 + esac 6911 + add="-l$name" 6912 + elif test "$hardcode_automatic" = yes; then 6913 + if test -n "$inst_prefix_dir" && 6914 + test -f "$inst_prefix_dir$libdir/$linklib" ; then 6915 + add="$inst_prefix_dir$libdir/$linklib" 6916 + else 6917 + add="$libdir/$linklib" 6918 + fi 6919 + else 6920 + # We cannot seem to hardcode it, guess we'll fake it. 6921 + add_dir="-L$libdir" 6922 + # Try looking first in the location we're being installed to. 6923 + if test -n "$inst_prefix_dir"; then 6924 + case $libdir in 6925 + [\\/]*) 6926 + func_append add_dir " -L$inst_prefix_dir$libdir" 6927 + ;; 6928 + esac 6929 + fi 6930 + add="-l$name" 6931 + fi 6932 + 6933 + if test "$linkmode" = prog; then 6934 + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" 6935 + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" 6936 + else 6937 + test -n "$add_dir" && deplibs="$add_dir $deplibs" 6938 + test -n "$add" && deplibs="$add $deplibs" 6939 + fi 6940 + fi 6941 + elif test "$linkmode" = prog; then 6942 + # Here we assume that one of hardcode_direct or hardcode_minus_L 6943 + # is not unsupported. This is valid on all known static and 6944 + # shared platforms. 6945 + if test "$hardcode_direct" != unsupported; then 6946 + test -n "$old_library" && linklib="$old_library" 6947 + compile_deplibs="$dir/$linklib $compile_deplibs" 6948 + finalize_deplibs="$dir/$linklib $finalize_deplibs" 6949 + else 6950 + compile_deplibs="-l$name -L$dir $compile_deplibs" 6951 + finalize_deplibs="-l$name -L$dir $finalize_deplibs" 6952 + fi 6953 + elif test "$build_libtool_libs" = yes; then 6954 + # Not a shared library 6955 + if test "$deplibs_check_method" != pass_all; then 6956 + # We're trying link a shared library against a static one 6957 + # but the system doesn't support it. 6958 + 6959 + # Just print a warning and add the library to dependency_libs so 6960 + # that the program can be linked against the static library. 6961 + echo 6962 + $ECHO "*** Warning: This system can not link to static lib archive $lib." 6963 + echo "*** I have the capability to make that library automatically link in when" 6964 + echo "*** you link to this library. But I can only do this if you have a" 6965 + echo "*** shared version of the library, which you do not appear to have." 6966 + if test "$module" = yes; then 6967 + echo "*** But as you try to build a module library, libtool will still create " 6968 + echo "*** a static module, that should work as long as the dlopening application" 6969 + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." 6970 + if test -z "$global_symbol_pipe"; then 6971 + echo 6972 + echo "*** However, this would only work if libtool was able to extract symbol" 6973 + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" 6974 + echo "*** not find such a program. So, this module is probably useless." 6975 + echo "*** \`nm' from GNU binutils and a full rebuild may help." 6976 + fi 6977 + if test "$build_old_libs" = no; then 6978 + build_libtool_libs=module 6979 + build_old_libs=yes 6980 + else 6981 + build_libtool_libs=no 6982 + fi 6983 + fi 6984 + else 6985 + deplibs="$dir/$old_library $deplibs" 6986 + link_static=yes 6987 + fi 6988 + fi # link shared/static library? 6989 + 6990 + if test "$linkmode" = lib; then 6991 + if test -n "$dependency_libs" && 6992 + { test "$hardcode_into_libs" != yes || 6993 + test "$build_old_libs" = yes || 6994 + test "$link_static" = yes; }; then 6995 + # Extract -R from dependency_libs 6996 + temp_deplibs= 6997 + for libdir in $dependency_libs; do 6998 + case $libdir in 6999 + -R*) func_stripname '-R' '' "$libdir" 7000 + temp_xrpath=$func_stripname_result 7001 + case " $xrpath " in 7002 + *" $temp_xrpath "*) ;; 7003 + *) func_append xrpath " $temp_xrpath";; 7004 + esac;; 7005 + *) func_append temp_deplibs " $libdir";; 7006 + esac 7007 + done 7008 + dependency_libs="$temp_deplibs" 7009 + fi 7010 + 7011 + func_append newlib_search_path " $absdir" 7012 + # Link against this library 7013 + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" 7014 + # ... and its dependency_libs 7015 + tmp_libs= 7016 + for deplib in $dependency_libs; do 7017 + newdependency_libs="$deplib $newdependency_libs" 7018 + case $deplib in 7019 + -L*) func_stripname '-L' '' "$deplib" 7020 + func_resolve_sysroot "$func_stripname_result";; 7021 + *) func_resolve_sysroot "$deplib" ;; 7022 + esac 7023 + if $opt_preserve_dup_deps ; then 7024 + case "$tmp_libs " in 7025 + *" $func_resolve_sysroot_result "*) 7026 + func_append specialdeplibs " $func_resolve_sysroot_result" ;; 7027 + esac 7028 + fi 7029 + func_append tmp_libs " $func_resolve_sysroot_result" 7030 + done 7031 + 7032 + if test "$link_all_deplibs" != no; then 7033 + # Add the search paths of all dependency libraries 7034 + for deplib in $dependency_libs; do 7035 + path= 7036 + case $deplib in 7037 + -L*) path="$deplib" ;; 7038 + *.la) 7039 + func_resolve_sysroot "$deplib" 7040 + deplib=$func_resolve_sysroot_result 7041 + func_dirname "$deplib" "" "." 7042 + dir=$func_dirname_result 7043 + # We need an absolute path. 7044 + case $dir in 7045 + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; 7046 + *) 7047 + absdir=`cd "$dir" && pwd` 7048 + if test -z "$absdir"; then 7049 + func_warning "cannot determine absolute directory name of \`$dir'" 7050 + absdir="$dir" 7051 + fi 7052 + ;; 7053 + esac 7054 + if $GREP "^installed=no" $deplib > /dev/null; then 7055 + case $host in 7056 + *-*-darwin*) 7057 + depdepl= 7058 + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` 7059 + if test -n "$deplibrary_names" ; then 7060 + for tmp in $deplibrary_names ; do 7061 + depdepl=$tmp 7062 + done 7063 + if test -f "$absdir/$objdir/$depdepl" ; then 7064 + depdepl="$absdir/$objdir/$depdepl" 7065 + darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` 7066 + if test -z "$darwin_install_name"; then 7067 + darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` 7068 + fi 7069 + func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" 7070 + func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" 7071 + path= 7072 + fi 7073 + fi 7074 + ;; 7075 + *) 7076 + path="-L$absdir/$objdir" 7077 + ;; 7078 + esac 7079 + else 7080 + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` 7081 + test -z "$libdir" && \ 7082 + func_fatal_error "\`$deplib' is not a valid libtool archive" 7083 + test "$absdir" != "$libdir" && \ 7084 + func_warning "\`$deplib' seems to be moved" 7085 + 7086 + path="-L$absdir" 7087 + fi 7088 + ;; 7089 + esac 7090 + case " $deplibs " in 7091 + *" $path "*) ;; 7092 + *) deplibs="$path $deplibs" ;; 7093 + esac 7094 + done 7095 + fi # link_all_deplibs != no 7096 + fi # linkmode = lib 7097 + done # for deplib in $libs 7098 + if test "$pass" = link; then 7099 + if test "$linkmode" = "prog"; then 7100 + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" 7101 + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" 7102 + else 7103 + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` 7104 + fi 7105 + fi 7106 + dependency_libs="$newdependency_libs" 7107 + if test "$pass" = dlpreopen; then 7108 + # Link the dlpreopened libraries before other libraries 7109 + for deplib in $save_deplibs; do 7110 + deplibs="$deplib $deplibs" 7111 + done 7112 + fi 7113 + if test "$pass" != dlopen; then 7114 + if test "$pass" != conv; then 7115 + # Make sure lib_search_path contains only unique directories. 7116 + lib_search_path= 7117 + for dir in $newlib_search_path; do 7118 + case "$lib_search_path " in 7119 + *" $dir "*) ;; 7120 + *) func_append lib_search_path " $dir" ;; 7121 + esac 7122 + done 7123 + newlib_search_path= 7124 + fi 7125 + 7126 + if test "$linkmode,$pass" != "prog,link"; then 7127 + vars="deplibs" 7128 + else 7129 + vars="compile_deplibs finalize_deplibs" 7130 + fi 7131 + for var in $vars dependency_libs; do 7132 + # Add libraries to $var in reverse order 7133 + eval tmp_libs=\"\$$var\" 7134 + new_libs= 7135 + for deplib in $tmp_libs; do 7136 + # FIXME: Pedantically, this is the right thing to do, so 7137 + # that some nasty dependency loop isn't accidentally 7138 + # broken: 7139 + #new_libs="$deplib $new_libs" 7140 + # Pragmatically, this seems to cause very few problems in 7141 + # practice: 7142 + case $deplib in 7143 + -L*) new_libs="$deplib $new_libs" ;; 7144 + -R*) ;; 7145 + *) 7146 + # And here is the reason: when a library appears more 7147 + # than once as an explicit dependence of a library, or 7148 + # is implicitly linked in more than once by the 7149 + # compiler, it is considered special, and multiple 7150 + # occurrences thereof are not removed. Compare this 7151 + # with having the same library being listed as a 7152 + # dependency of multiple other libraries: in this case, 7153 + # we know (pedantically, we assume) the library does not 7154 + # need to be listed more than once, so we keep only the 7155 + # last copy. This is not always right, but it is rare 7156 + # enough that we require users that really mean to play 7157 + # such unportable linking tricks to link the library 7158 + # using -Wl,-lname, so that libtool does not consider it 7159 + # for duplicate removal. 7160 + case " $specialdeplibs " in 7161 + *" $deplib "*) new_libs="$deplib $new_libs" ;; 7162 + *) 7163 + case " $new_libs " in 7164 + *" $deplib "*) ;; 7165 + *) new_libs="$deplib $new_libs" ;; 7166 + esac 7167 + ;; 7168 + esac 7169 + ;; 7170 + esac 7171 + done 7172 + tmp_libs= 7173 + for deplib in $new_libs; do 7174 + case $deplib in 7175 + -L*) 7176 + case " $tmp_libs " in 7177 + *" $deplib "*) ;; 7178 + *) func_append tmp_libs " $deplib" ;; 7179 + esac 7180 + ;; 7181 + *) func_append tmp_libs " $deplib" ;; 7182 + esac 7183 + done 7184 + eval $var=\"$tmp_libs\" 7185 + done # for var 7186 + fi 7187 + # Last step: remove runtime libs from dependency_libs 7188 + # (they stay in deplibs) 7189 + tmp_libs= 7190 + for i in $dependency_libs ; do 7191 + case " $predeps $postdeps $compiler_lib_search_path " in 7192 + *" $i "*) 7193 + i="" 7194 + ;; 7195 + esac 7196 + if test -n "$i" ; then 7197 + func_append tmp_libs " $i" 7198 + fi 7199 + done 7200 + dependency_libs=$tmp_libs 7201 + done # for pass 7202 + if test "$linkmode" = prog; then 7203 + dlfiles="$newdlfiles" 7204 + fi 7205 + if test "$linkmode" = prog || test "$linkmode" = lib; then 7206 + dlprefiles="$newdlprefiles" 7207 + fi 7208 + 7209 + case $linkmode in 7210 + oldlib) 7211 + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then 7212 + func_warning "\`-dlopen' is ignored for archives" 7213 + fi 7214 + 7215 + case " $deplibs" in 7216 + *\ -l* | *\ -L*) 7217 + func_warning "\`-l' and \`-L' are ignored for archives" ;; 7218 + esac 7219 + 7220 + test -n "$rpath" && \ 7221 + func_warning "\`-rpath' is ignored for archives" 7222 + 7223 + test -n "$xrpath" && \ 7224 + func_warning "\`-R' is ignored for archives" 7225 + 7226 + test -n "$vinfo" && \ 7227 + func_warning "\`-version-info/-version-number' is ignored for archives" 7228 + 7229 + test -n "$release" && \ 7230 + func_warning "\`-release' is ignored for archives" 7231 + 7232 + test -n "$export_symbols$export_symbols_regex" && \ 7233 + func_warning "\`-export-symbols' is ignored for archives" 7234 + 7235 + # Now set the variables for building old libraries. 7236 + build_libtool_libs=no 7237 + oldlibs="$output" 7238 + func_append objs "$old_deplibs" 7239 + ;; 7240 + 7241 + lib) 7242 + # Make sure we only generate libraries of the form `libNAME.la'. 7243 + case $outputname in 7244 + lib*) 7245 + func_stripname 'lib' '.la' "$outputname" 7246 + name=$func_stripname_result 7247 + eval shared_ext=\"$shrext_cmds\" 7248 + eval libname=\"$libname_spec\" 7249 + ;; 7250 + *) 7251 + test "$module" = no && \ 7252 + func_fatal_help "libtool library \`$output' must begin with \`lib'" 7253 + 7254 + if test "$need_lib_prefix" != no; then 7255 + # Add the "lib" prefix for modules if required 7256 + func_stripname '' '.la' "$outputname" 7257 + name=$func_stripname_result 7258 + eval shared_ext=\"$shrext_cmds\" 7259 + eval libname=\"$libname_spec\" 7260 + else 7261 + func_stripname '' '.la' "$outputname" 7262 + libname=$func_stripname_result 7263 + fi 7264 + ;; 7265 + esac 7266 + 7267 + if test -n "$objs"; then 7268 + if test "$deplibs_check_method" != pass_all; then 7269 + func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 7270 + else 7271 + echo 7272 + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" 7273 + $ECHO "*** objects $objs is not portable!" 7274 + func_append libobjs " $objs" 7275 + fi 7276 + fi 7277 + 7278 + test "$dlself" != no && \ 7279 + func_warning "\`-dlopen self' is ignored for libtool libraries" 7280 + 7281 + set dummy $rpath 7282 + shift 7283 + test "$#" -gt 1 && \ 7284 + func_warning "ignoring multiple \`-rpath's for a libtool library" 7285 + 7286 + install_libdir="$1" 7287 + 7288 + oldlibs= 7289 + if test -z "$rpath"; then 7290 + if test "$build_libtool_libs" = yes; then 7291 + # Building a libtool convenience library. 7292 + # Some compilers have problems with a `.al' extension so 7293 + # convenience libraries should have the same extension an 7294 + # archive normally would. 7295 + oldlibs="$output_objdir/$libname.$libext $oldlibs" 7296 + build_libtool_libs=convenience 7297 + build_old_libs=yes 7298 + fi 7299 + 7300 + test -n "$vinfo" && \ 7301 + func_warning "\`-version-info/-version-number' is ignored for convenience libraries" 7302 + 7303 + test -n "$release" && \ 7304 + func_warning "\`-release' is ignored for convenience libraries" 7305 + else 7306 + 7307 + # Parse the version information argument. 7308 + save_ifs="$IFS"; IFS=':' 7309 + set dummy $vinfo 0 0 0 7310 + shift 7311 + IFS="$save_ifs" 7312 + 7313 + test -n "$7" && \ 7314 + func_fatal_help "too many parameters to \`-version-info'" 7315 + 7316 + # convert absolute version numbers to libtool ages 7317 + # this retains compatibility with .la files and attempts 7318 + # to make the code below a bit more comprehensible 7319 + 7320 + case $vinfo_number in 7321 + yes) 7322 + number_major="$1" 7323 + number_minor="$2" 7324 + number_revision="$3" 7325 + # 7326 + # There are really only two kinds -- those that 7327 + # use the current revision as the major version 7328 + # and those that subtract age and use age as 7329 + # a minor version. But, then there is irix 7330 + # which has an extra 1 added just for fun 7331 + # 7332 + case $version_type in 7333 + # correct linux to gnu/linux during the next big refactor 7334 + darwin|linux|osf|windows|none) 7335 + func_arith $number_major + $number_minor 7336 + current=$func_arith_result 7337 + age="$number_minor" 7338 + revision="$number_revision" 7339 + ;; 7340 + freebsd-aout|freebsd-elf|qnx|sunos) 7341 + current="$number_major" 7342 + revision="$number_minor" 7343 + age="0" 7344 + ;; 7345 + irix|nonstopux) 7346 + func_arith $number_major + $number_minor 7347 + current=$func_arith_result 7348 + age="$number_minor" 7349 + revision="$number_minor" 7350 + lt_irix_increment=no 7351 + ;; 7352 + esac 7353 + ;; 7354 + no) 7355 + current="$1" 7356 + revision="$2" 7357 + age="$3" 7358 + ;; 7359 + esac 7360 + 7361 + # Check that each of the things are valid numbers. 7362 + case $current in 7363 + 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]) ;; 7364 + *) 7365 + func_error "CURRENT \`$current' must be a nonnegative integer" 7366 + func_fatal_error "\`$vinfo' is not valid version information" 7367 + ;; 7368 + esac 7369 + 7370 + case $revision in 7371 + 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]) ;; 7372 + *) 7373 + func_error "REVISION \`$revision' must be a nonnegative integer" 7374 + func_fatal_error "\`$vinfo' is not valid version information" 7375 + ;; 7376 + esac 7377 + 7378 + case $age in 7379 + 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]) ;; 7380 + *) 7381 + func_error "AGE \`$age' must be a nonnegative integer" 7382 + func_fatal_error "\`$vinfo' is not valid version information" 7383 + ;; 7384 + esac 7385 + 7386 + if test "$age" -gt "$current"; then 7387 + func_error "AGE \`$age' is greater than the current interface number \`$current'" 7388 + func_fatal_error "\`$vinfo' is not valid version information" 7389 + fi 7390 + 7391 + # Calculate the version variables. 7392 + major= 7393 + versuffix= 7394 + verstring= 7395 + case $version_type in 7396 + none) ;; 7397 + 7398 + darwin) 7399 + # Like Linux, but with the current version available in 7400 + # verstring for coding it into the library header 7401 + func_arith $current - $age 7402 + major=.$func_arith_result 7403 + versuffix="$major.$age.$revision" 7404 + # Darwin ld doesn't like 0 for these options... 7405 + func_arith $current + 1 7406 + minor_current=$func_arith_result 7407 + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" 7408 + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" 7409 + ;; 7410 + 7411 + freebsd-aout) 7412 + major=".$current" 7413 + versuffix=".$current.$revision"; 7414 + ;; 7415 + 7416 + freebsd-elf) 7417 + major=".$current" 7418 + versuffix=".$current" 7419 + ;; 7420 + 7421 + irix | nonstopux) 7422 + if test "X$lt_irix_increment" = "Xno"; then 7423 + func_arith $current - $age 7424 + else 7425 + func_arith $current - $age + 1 7426 + fi 7427 + major=$func_arith_result 7428 + 7429 + case $version_type in 7430 + nonstopux) verstring_prefix=nonstopux ;; 7431 + *) verstring_prefix=sgi ;; 7432 + esac 7433 + verstring="$verstring_prefix$major.$revision" 7434 + 7435 + # Add in all the interfaces that we are compatible with. 7436 + loop=$revision 7437 + while test "$loop" -ne 0; do 7438 + func_arith $revision - $loop 7439 + iface=$func_arith_result 7440 + func_arith $loop - 1 7441 + loop=$func_arith_result 7442 + verstring="$verstring_prefix$major.$iface:$verstring" 7443 + done 7444 + 7445 + # Before this point, $major must not contain `.'. 7446 + major=.$major 7447 + versuffix="$major.$revision" 7448 + ;; 7449 + 7450 + linux) # correct to gnu/linux during the next big refactor 7451 + func_arith $current - $age 7452 + major=.$func_arith_result 7453 + versuffix="$major.$age.$revision" 7454 + ;; 7455 + 7456 + osf) 7457 + func_arith $current - $age 7458 + major=.$func_arith_result 7459 + versuffix=".$current.$age.$revision" 7460 + verstring="$current.$age.$revision" 7461 + 7462 + # Add in all the interfaces that we are compatible with. 7463 + loop=$age 7464 + while test "$loop" -ne 0; do 7465 + func_arith $current - $loop 7466 + iface=$func_arith_result 7467 + func_arith $loop - 1 7468 + loop=$func_arith_result 7469 + verstring="$verstring:${iface}.0" 7470 + done 7471 + 7472 + # Make executables depend on our current version. 7473 + func_append verstring ":${current}.0" 7474 + ;; 7475 + 7476 + qnx) 7477 + major=".$current" 7478 + versuffix=".$current" 7479 + ;; 7480 + 7481 + sunos) 7482 + major=".$current" 7483 + versuffix=".$current.$revision" 7484 + ;; 7485 + 7486 + windows) 7487 + # Use '-' rather than '.', since we only want one 7488 + # extension on DOS 8.3 filesystems. 7489 + func_arith $current - $age 7490 + major=$func_arith_result 7491 + versuffix="-$major" 7492 + ;; 7493 + 7494 + *) 7495 + func_fatal_configuration "unknown library version type \`$version_type'" 7496 + ;; 7497 + esac 7498 + 7499 + # Clear the version info if we defaulted, and they specified a release. 7500 + if test -z "$vinfo" && test -n "$release"; then 7501 + major= 7502 + case $version_type in 7503 + darwin) 7504 + # we can't check for "0.0" in archive_cmds due to quoting 7505 + # problems, so we reset it completely 7506 + verstring= 7507 + ;; 7508 + *) 7509 + verstring="0.0" 7510 + ;; 7511 + esac 7512 + if test "$need_version" = no; then 7513 + versuffix= 7514 + else 7515 + versuffix=".0.0" 7516 + fi 7517 + fi 7518 + 7519 + # Remove version info from name if versioning should be avoided 7520 + if test "$avoid_version" = yes && test "$need_version" = no; then 7521 + major= 7522 + versuffix= 7523 + verstring="" 7524 + fi 7525 + 7526 + # Check to see if the archive will have undefined symbols. 7527 + if test "$allow_undefined" = yes; then 7528 + if test "$allow_undefined_flag" = unsupported; then 7529 + func_warning "undefined symbols not allowed in $host shared libraries" 7530 + build_libtool_libs=no 7531 + build_old_libs=yes 7532 + fi 7533 + else 7534 + # Don't allow undefined symbols. 7535 + allow_undefined_flag="$no_undefined_flag" 7536 + fi 7537 + 7538 + fi 7539 + 7540 + func_generate_dlsyms "$libname" "$libname" "yes" 7541 + func_append libobjs " $symfileobj" 7542 + test "X$libobjs" = "X " && libobjs= 7543 + 7544 + if test "$opt_mode" != relink; then 7545 + # Remove our outputs, but don't remove object files since they 7546 + # may have been created when compiling PIC objects. 7547 + removelist= 7548 + tempremovelist=`$ECHO "$output_objdir/*"` 7549 + for p in $tempremovelist; do 7550 + case $p in 7551 + *.$objext | *.gcno) 7552 + ;; 7553 + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) 7554 + if test "X$precious_files_regex" != "X"; then 7555 + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 7556 + then 7557 + continue 7558 + fi 7559 + fi 7560 + func_append removelist " $p" 7561 + ;; 7562 + *) ;; 7563 + esac 7564 + done 7565 + test -n "$removelist" && \ 7566 + func_show_eval "${RM}r \$removelist" 7567 + fi 7568 + 7569 + # Now set the variables for building old libraries. 7570 + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then 7571 + func_append oldlibs " $output_objdir/$libname.$libext" 7572 + 7573 + # Transform .lo files to .o files. 7574 + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` 7575 + fi 7576 + 7577 + # Eliminate all temporary directories. 7578 + #for path in $notinst_path; do 7579 + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` 7580 + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` 7581 + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` 7582 + #done 7583 + 7584 + if test -n "$xrpath"; then 7585 + # If the user specified any rpath flags, then add them. 7586 + temp_xrpath= 7587 + for libdir in $xrpath; do 7588 + func_replace_sysroot "$libdir" 7589 + func_append temp_xrpath " -R$func_replace_sysroot_result" 7590 + case "$finalize_rpath " in 7591 + *" $libdir "*) ;; 7592 + *) func_append finalize_rpath " $libdir" ;; 7593 + esac 7594 + done 7595 + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then 7596 + dependency_libs="$temp_xrpath $dependency_libs" 7597 + fi 7598 + fi 7599 + 7600 + # Make sure dlfiles contains only unique files that won't be dlpreopened 7601 + old_dlfiles="$dlfiles" 7602 + dlfiles= 7603 + for lib in $old_dlfiles; do 7604 + case " $dlprefiles $dlfiles " in 7605 + *" $lib "*) ;; 7606 + *) func_append dlfiles " $lib" ;; 7607 + esac 7608 + done 7609 + 7610 + # Make sure dlprefiles contains only unique files 7611 + old_dlprefiles="$dlprefiles" 7612 + dlprefiles= 7613 + for lib in $old_dlprefiles; do 7614 + case "$dlprefiles " in 7615 + *" $lib "*) ;; 7616 + *) func_append dlprefiles " $lib" ;; 7617 + esac 7618 + done 7619 + 7620 + if test "$build_libtool_libs" = yes; then 7621 + if test -n "$rpath"; then 7622 + case $host in 7623 + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) 7624 + # these systems don't actually have a c library (as such)! 7625 + ;; 7626 + *-*-rhapsody* | *-*-darwin1.[012]) 7627 + # Rhapsody C library is in the System framework 7628 + func_append deplibs " System.ltframework" 7629 + ;; 7630 + *-*-netbsd*) 7631 + # Don't link with libc until the a.out ld.so is fixed. 7632 + ;; 7633 + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) 7634 + # Do not include libc due to us having libc/libc_r. 7635 + ;; 7636 + *-*-sco3.2v5* | *-*-sco5v6*) 7637 + # Causes problems with __ctype 7638 + ;; 7639 + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) 7640 + # Compiler inserts libc in the correct place for threads to work 7641 + ;; 7642 + *) 7643 + # Add libc to deplibs on all other systems if necessary. 7644 + if test "$build_libtool_need_lc" = "yes"; then 7645 + func_append deplibs " -lc" 7646 + fi 7647 + ;; 7648 + esac 7649 + fi 7650 + 7651 + # Transform deplibs into only deplibs that can be linked in shared. 7652 + name_save=$name 7653 + libname_save=$libname 7654 + release_save=$release 7655 + versuffix_save=$versuffix 7656 + major_save=$major 7657 + # I'm not sure if I'm treating the release correctly. I think 7658 + # release should show up in the -l (ie -lgmp5) so we don't want to 7659 + # add it in twice. Is that correct? 7660 + release="" 7661 + versuffix="" 7662 + major="" 7663 + newdeplibs= 7664 + droppeddeps=no 7665 + case $deplibs_check_method in 7666 + pass_all) 7667 + # Don't check for shared/static. Everything works. 7668 + # This might be a little naive. We might want to check 7669 + # whether the library exists or not. But this is on 7670 + # osf3 & osf4 and I'm not really sure... Just 7671 + # implementing what was already the behavior. 7672 + newdeplibs=$deplibs 7673 + ;; 7674 + test_compile) 7675 + # This code stresses the "libraries are programs" paradigm to its 7676 + # limits. Maybe even breaks it. We compile a program, linking it 7677 + # against the deplibs as a proxy for the library. Then we can check 7678 + # whether they linked in statically or dynamically with ldd. 7679 + $opt_dry_run || $RM conftest.c 7680 + cat > conftest.c <<EOF 7681 + int main() { return 0; } 7682 +EOF 7683 + $opt_dry_run || $RM conftest 7684 + if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then 7685 + ldd_output=`ldd conftest` 7686 + for i in $deplibs; do 7687 + case $i in 7688 + -l*) 7689 + func_stripname -l '' "$i" 7690 + name=$func_stripname_result 7691 + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7692 + case " $predeps $postdeps " in 7693 + *" $i "*) 7694 + func_append newdeplibs " $i" 7695 + i="" 7696 + ;; 7697 + esac 7698 + fi 7699 + if test -n "$i" ; then 7700 + libname=`eval "\\$ECHO \"$libname_spec\""` 7701 + deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` 7702 + set dummy $deplib_matches; shift 7703 + deplib_match=$1 7704 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then 7705 + func_append newdeplibs " $i" 7706 + else 7707 + droppeddeps=yes 7708 + echo 7709 + $ECHO "*** Warning: dynamic linker does not accept needed library $i." 7710 + echo "*** I have the capability to make that library automatically link in when" 7711 + echo "*** you link to this library. But I can only do this if you have a" 7712 + echo "*** shared version of the library, which I believe you do not have" 7713 + echo "*** because a test_compile did reveal that the linker did not use it for" 7714 + echo "*** its dynamic dependency list that programs get resolved with at runtime." 7715 + fi 7716 + fi 7717 + ;; 7718 + *) 7719 + func_append newdeplibs " $i" 7720 + ;; 7721 + esac 7722 + done 7723 + else 7724 + # Error occurred in the first compile. Let's try to salvage 7725 + # the situation: Compile a separate program for each library. 7726 + for i in $deplibs; do 7727 + case $i in 7728 + -l*) 7729 + func_stripname -l '' "$i" 7730 + name=$func_stripname_result 7731 + $opt_dry_run || $RM conftest 7732 + if $LTCC $LTCFLAGS -o conftest conftest.c $i; then 7733 + ldd_output=`ldd conftest` 7734 + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7735 + case " $predeps $postdeps " in 7736 + *" $i "*) 7737 + func_append newdeplibs " $i" 7738 + i="" 7739 + ;; 7740 + esac 7741 + fi 7742 + if test -n "$i" ; then 7743 + libname=`eval "\\$ECHO \"$libname_spec\""` 7744 + deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` 7745 + set dummy $deplib_matches; shift 7746 + deplib_match=$1 7747 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then 7748 + func_append newdeplibs " $i" 7749 + else 7750 + droppeddeps=yes 7751 + echo 7752 + $ECHO "*** Warning: dynamic linker does not accept needed library $i." 7753 + echo "*** I have the capability to make that library automatically link in when" 7754 + echo "*** you link to this library. But I can only do this if you have a" 7755 + echo "*** shared version of the library, which you do not appear to have" 7756 + echo "*** because a test_compile did reveal that the linker did not use this one" 7757 + echo "*** as a dynamic dependency that programs can get resolved with at runtime." 7758 + fi 7759 + fi 7760 + else 7761 + droppeddeps=yes 7762 + echo 7763 + $ECHO "*** Warning! Library $i is needed by this library but I was not able to" 7764 + echo "*** make it link in! You will probably need to install it or some" 7765 + echo "*** library that it depends on before this library will be fully" 7766 + echo "*** functional. Installing it before continuing would be even better." 7767 + fi 7768 + ;; 7769 + *) 7770 + func_append newdeplibs " $i" 7771 + ;; 7772 + esac 7773 + done 7774 + fi 7775 + ;; 7776 + file_magic*) 7777 + set dummy $deplibs_check_method; shift 7778 + file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` 7779 + for a_deplib in $deplibs; do 7780 + case $a_deplib in 7781 + -l*) 7782 + func_stripname -l '' "$a_deplib" 7783 + name=$func_stripname_result 7784 + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7785 + case " $predeps $postdeps " in 7786 + *" $a_deplib "*) 7787 + func_append newdeplibs " $a_deplib" 7788 + a_deplib="" 7789 + ;; 7790 + esac 7791 + fi 7792 + if test -n "$a_deplib" ; then 7793 + libname=`eval "\\$ECHO \"$libname_spec\""` 7794 + if test -n "$file_magic_glob"; then 7795 + libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` 7796 + else 7797 + libnameglob=$libname 7798 + fi 7799 + test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob` 7800 + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do 7801 + if test "$want_nocaseglob" = yes; then 7802 + shopt -s nocaseglob 7803 + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` 7804 + $nocaseglob 7805 + else 7806 + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` 7807 + fi 7808 + for potent_lib in $potential_libs; do 7809 + # Follow soft links. 7810 + if ls -lLd "$potent_lib" 2>/dev/null | 7811 + $GREP " -> " >/dev/null; then 7812 + continue 7813 + fi 7814 + # The statement above tries to avoid entering an 7815 + # endless loop below, in case of cyclic links. 7816 + # We might still enter an endless loop, since a link 7817 + # loop can be closed while we follow links, 7818 + # but so what? 7819 + potlib="$potent_lib" 7820 + while test -h "$potlib" 2>/dev/null; do 7821 + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` 7822 + case $potliblink in 7823 + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; 7824 + *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; 7825 + esac 7826 + done 7827 + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | 7828 + $SED -e 10q | 7829 + $EGREP "$file_magic_regex" > /dev/null; then 7830 + func_append newdeplibs " $a_deplib" 7831 + a_deplib="" 7832 + break 2 7833 + fi 7834 + done 7835 + done 7836 + fi 7837 + if test -n "$a_deplib" ; then 7838 + droppeddeps=yes 7839 + echo 7840 + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." 7841 + echo "*** I have the capability to make that library automatically link in when" 7842 + echo "*** you link to this library. But I can only do this if you have a" 7843 + echo "*** shared version of the library, which you do not appear to have" 7844 + echo "*** because I did check the linker path looking for a file starting" 7845 + if test -z "$potlib" ; then 7846 + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" 7847 + else 7848 + $ECHO "*** with $libname and none of the candidates passed a file format test" 7849 + $ECHO "*** using a file magic. Last file checked: $potlib" 7850 + fi 7851 + fi 7852 + ;; 7853 + *) 7854 + # Add a -L argument. 7855 + func_append newdeplibs " $a_deplib" 7856 + ;; 7857 + esac 7858 + done # Gone through all deplibs. 7859 + ;; 7860 + match_pattern*) 7861 + set dummy $deplibs_check_method; shift 7862 + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` 7863 + for a_deplib in $deplibs; do 7864 + case $a_deplib in 7865 + -l*) 7866 + func_stripname -l '' "$a_deplib" 7867 + name=$func_stripname_result 7868 + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7869 + case " $predeps $postdeps " in 7870 + *" $a_deplib "*) 7871 + func_append newdeplibs " $a_deplib" 7872 + a_deplib="" 7873 + ;; 7874 + esac 7875 + fi 7876 + if test -n "$a_deplib" ; then 7877 + libname=`eval "\\$ECHO \"$libname_spec\""` 7878 + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do 7879 + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` 7880 + for potent_lib in $potential_libs; do 7881 + potlib="$potent_lib" # see symlink-check above in file_magic test 7882 + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ 7883 + $EGREP "$match_pattern_regex" > /dev/null; then 7884 + func_append newdeplibs " $a_deplib" 7885 + a_deplib="" 7886 + break 2 7887 + fi 7888 + done 7889 + done 7890 + fi 7891 + if test -n "$a_deplib" ; then 7892 + droppeddeps=yes 7893 + echo 7894 + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." 7895 + echo "*** I have the capability to make that library automatically link in when" 7896 + echo "*** you link to this library. But I can only do this if you have a" 7897 + echo "*** shared version of the library, which you do not appear to have" 7898 + echo "*** because I did check the linker path looking for a file starting" 7899 + if test -z "$potlib" ; then 7900 + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" 7901 + else 7902 + $ECHO "*** with $libname and none of the candidates passed a file format test" 7903 + $ECHO "*** using a regex pattern. Last file checked: $potlib" 7904 + fi 7905 + fi 7906 + ;; 7907 + *) 7908 + # Add a -L argument. 7909 + func_append newdeplibs " $a_deplib" 7910 + ;; 7911 + esac 7912 + done # Gone through all deplibs. 7913 + ;; 7914 + none | unknown | *) 7915 + newdeplibs="" 7916 + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` 7917 + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7918 + for i in $predeps $postdeps ; do 7919 + # can't use Xsed below, because $i might contain '/' 7920 + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` 7921 + done 7922 + fi 7923 + case $tmp_deplibs in 7924 + *[!\ \ ]*) 7925 + echo 7926 + if test "X$deplibs_check_method" = "Xnone"; then 7927 + echo "*** Warning: inter-library dependencies are not supported in this platform." 7928 + else 7929 + echo "*** Warning: inter-library dependencies are not known to be supported." 7930 + fi 7931 + echo "*** All declared inter-library dependencies are being dropped." 7932 + droppeddeps=yes 7933 + ;; 7934 + esac 7935 + ;; 7936 + esac 7937 + versuffix=$versuffix_save 7938 + major=$major_save 7939 + release=$release_save 7940 + libname=$libname_save 7941 + name=$name_save 7942 + 7943 + case $host in 7944 + *-*-rhapsody* | *-*-darwin1.[012]) 7945 + # On Rhapsody replace the C library with the System framework 7946 + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` 7947 + ;; 7948 + esac 7949 + 7950 + if test "$droppeddeps" = yes; then 7951 + if test "$module" = yes; then 7952 + echo 7953 + echo "*** Warning: libtool could not satisfy all declared inter-library" 7954 + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" 7955 + echo "*** a static module, that should work as long as the dlopening" 7956 + echo "*** application is linked with the -dlopen flag." 7957 + if test -z "$global_symbol_pipe"; then 7958 + echo 7959 + echo "*** However, this would only work if libtool was able to extract symbol" 7960 + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" 7961 + echo "*** not find such a program. So, this module is probably useless." 7962 + echo "*** \`nm' from GNU binutils and a full rebuild may help." 7963 + fi 7964 + if test "$build_old_libs" = no; then 7965 + oldlibs="$output_objdir/$libname.$libext" 7966 + build_libtool_libs=module 7967 + build_old_libs=yes 7968 + else 7969 + build_libtool_libs=no 7970 + fi 7971 + else 7972 + echo "*** The inter-library dependencies that have been dropped here will be" 7973 + echo "*** automatically added whenever a program is linked with this library" 7974 + echo "*** or is declared to -dlopen it." 7975 + 7976 + if test "$allow_undefined" = no; then 7977 + echo 7978 + echo "*** Since this library must not contain undefined symbols," 7979 + echo "*** because either the platform does not support them or" 7980 + echo "*** it was explicitly requested with -no-undefined," 7981 + echo "*** libtool will only create a static version of it." 7982 + if test "$build_old_libs" = no; then 7983 + oldlibs="$output_objdir/$libname.$libext" 7984 + build_libtool_libs=module 7985 + build_old_libs=yes 7986 + else 7987 + build_libtool_libs=no 7988 + fi 7989 + fi 7990 + fi 7991 + fi 7992 + # Done checking deplibs! 7993 + deplibs=$newdeplibs 7994 + fi 7995 + # Time to change all our "foo.ltframework" stuff back to "-framework foo" 7996 + case $host in 7997 + *-*-darwin*) 7998 + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` 7999 + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` 8000 + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` 8001 + ;; 8002 + esac 8003 + 8004 + # move library search paths that coincide with paths to not yet 8005 + # installed libraries to the beginning of the library search list 8006 + new_libs= 8007 + for path in $notinst_path; do 8008 + case " $new_libs " in 8009 + *" -L$path/$objdir "*) ;; 8010 + *) 8011 + case " $deplibs " in 8012 + *" -L$path/$objdir "*) 8013 + func_append new_libs " -L$path/$objdir" ;; 8014 + esac 8015 + ;; 8016 + esac 8017 + done 8018 + for deplib in $deplibs; do 8019 + case $deplib in 8020 + -L*) 8021 + case " $new_libs " in 8022 + *" $deplib "*) ;; 8023 + *) func_append new_libs " $deplib" ;; 8024 + esac 8025 + ;; 8026 + *) func_append new_libs " $deplib" ;; 8027 + esac 8028 + done 8029 + deplibs="$new_libs" 8030 + 8031 + # All the library-specific variables (install_libdir is set above). 8032 + library_names= 8033 + old_library= 8034 + dlname= 8035 + 8036 + # Test again, we may have decided not to build it any more 8037 + if test "$build_libtool_libs" = yes; then 8038 + # Remove ${wl} instances when linking with ld. 8039 + # FIXME: should test the right _cmds variable. 8040 + case $archive_cmds in 8041 + *\$LD\ *) wl= ;; 8042 + esac 8043 + if test "$hardcode_into_libs" = yes; then 8044 + # Hardcode the library paths 8045 + hardcode_libdirs= 8046 + dep_rpath= 8047 + rpath="$finalize_rpath" 8048 + test "$opt_mode" != relink && rpath="$compile_rpath$rpath" 8049 + for libdir in $rpath; do 8050 + if test -n "$hardcode_libdir_flag_spec"; then 8051 + if test -n "$hardcode_libdir_separator"; then 8052 + func_replace_sysroot "$libdir" 8053 + libdir=$func_replace_sysroot_result 8054 + if test -z "$hardcode_libdirs"; then 8055 + hardcode_libdirs="$libdir" 8056 + else 8057 + # Just accumulate the unique libdirs. 8058 + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in 8059 + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 8060 + ;; 8061 + *) 8062 + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" 8063 + ;; 8064 + esac 8065 + fi 8066 + else 8067 + eval flag=\"$hardcode_libdir_flag_spec\" 8068 + func_append dep_rpath " $flag" 8069 + fi 8070 + elif test -n "$runpath_var"; then 8071 + case "$perm_rpath " in 8072 + *" $libdir "*) ;; 8073 + *) func_append perm_rpath " $libdir" ;; 8074 + esac 8075 + fi 8076 + done 8077 + # Substitute the hardcoded libdirs into the rpath. 8078 + if test -n "$hardcode_libdir_separator" && 8079 + test -n "$hardcode_libdirs"; then 8080 + libdir="$hardcode_libdirs" 8081 + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" 8082 + fi 8083 + if test -n "$runpath_var" && test -n "$perm_rpath"; then 8084 + # We should set the runpath_var. 8085 + rpath= 8086 + for dir in $perm_rpath; do 8087 + func_append rpath "$dir:" 8088 + done 8089 + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" 8090 + fi 8091 + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" 8092 + fi 8093 + 8094 + shlibpath="$finalize_shlibpath" 8095 + test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" 8096 + if test -n "$shlibpath"; then 8097 + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" 8098 + fi 8099 + 8100 + # Get the real and link names of the library. 8101 + eval shared_ext=\"$shrext_cmds\" 8102 + eval library_names=\"$library_names_spec\" 8103 + set dummy $library_names 8104 + shift 8105 + realname="$1" 8106 + shift 8107 + 8108 + if test -n "$soname_spec"; then 8109 + eval soname=\"$soname_spec\" 8110 + else 8111 + soname="$realname" 8112 + fi 8113 + if test -z "$dlname"; then 8114 + dlname=$soname 8115 + fi 8116 + 8117 + lib="$output_objdir/$realname" 8118 + linknames= 8119 + for link 8120 + do 8121 + func_append linknames " $link" 8122 + done 8123 + 8124 + # Use standard objects if they are pic 8125 + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` 8126 + test "X$libobjs" = "X " && libobjs= 8127 + 8128 + delfiles= 8129 + if test -n "$export_symbols" && test -n "$include_expsyms"; then 8130 + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" 8131 + export_symbols="$output_objdir/$libname.uexp" 8132 + func_append delfiles " $export_symbols" 8133 + fi 8134 + 8135 + orig_export_symbols= 8136 + case $host_os in 8137 + cygwin* | mingw* | cegcc*) 8138 + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then 8139 + # exporting using user supplied symfile 8140 + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then 8141 + # and it's NOT already a .def file. Must figure out 8142 + # which of the given symbols are data symbols and tag 8143 + # them as such. So, trigger use of export_symbols_cmds. 8144 + # export_symbols gets reassigned inside the "prepare 8145 + # the list of exported symbols" if statement, so the 8146 + # include_expsyms logic still works. 8147 + orig_export_symbols="$export_symbols" 8148 + export_symbols= 8149 + always_export_symbols=yes 8150 + fi 8151 + fi 8152 + ;; 8153 + esac 8154 + 8155 + # Prepare the list of exported symbols 8156 + if test -z "$export_symbols"; then 8157 + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then 8158 + func_verbose "generating symbol list for \`$libname.la'" 8159 + export_symbols="$output_objdir/$libname.exp" 8160 + $opt_dry_run || $RM $export_symbols 8161 + cmds=$export_symbols_cmds 8162 + save_ifs="$IFS"; IFS='~' 8163 + for cmd1 in $cmds; do 8164 + IFS="$save_ifs" 8165 + # Take the normal branch if the nm_file_list_spec branch 8166 + # doesn't work or if tool conversion is not needed. 8167 + case $nm_file_list_spec~$to_tool_file_cmd in 8168 + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) 8169 + try_normal_branch=yes 8170 + eval cmd=\"$cmd1\" 8171 + func_len " $cmd" 8172 + len=$func_len_result 8173 + ;; 8174 + *) 8175 + try_normal_branch=no 8176 + ;; 8177 + esac 8178 + if test "$try_normal_branch" = yes \ 8179 + && { test "$len" -lt "$max_cmd_len" \ 8180 + || test "$max_cmd_len" -le -1; } 8181 + then 8182 + func_show_eval "$cmd" 'exit $?' 8183 + skipped_export=false 8184 + elif test -n "$nm_file_list_spec"; then 8185 + func_basename "$output" 8186 + output_la=$func_basename_result 8187 + save_libobjs=$libobjs 8188 + save_output=$output 8189 + output=${output_objdir}/${output_la}.nm 8190 + func_to_tool_file "$output" 8191 + libobjs=$nm_file_list_spec$func_to_tool_file_result 8192 + func_append delfiles " $output" 8193 + func_verbose "creating $NM input file list: $output" 8194 + for obj in $save_libobjs; do 8195 + func_to_tool_file "$obj" 8196 + $ECHO "$func_to_tool_file_result" 8197 + done > "$output" 8198 + eval cmd=\"$cmd1\" 8199 + func_show_eval "$cmd" 'exit $?' 8200 + output=$save_output 8201 + libobjs=$save_libobjs 8202 + skipped_export=false 8203 + else 8204 + # The command line is too long to execute in one step. 8205 + func_verbose "using reloadable object file for export list..." 8206 + skipped_export=: 8207 + # Break out early, otherwise skipped_export may be 8208 + # set to false by a later but shorter cmd. 8209 + break 8210 + fi 8211 + done 8212 + IFS="$save_ifs" 8213 + if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then 8214 + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' 8215 + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' 8216 + fi 8217 + fi 8218 + fi 8219 + 8220 + if test -n "$export_symbols" && test -n "$include_expsyms"; then 8221 + tmp_export_symbols="$export_symbols" 8222 + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" 8223 + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' 8224 + fi 8225 + 8226 + if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then 8227 + # The given exports_symbols file has to be filtered, so filter it. 8228 + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" 8229 + # FIXME: $output_objdir/$libname.filter potentially contains lots of 8230 + # 's' commands which not all seds can handle. GNU sed should be fine 8231 + # though. Also, the filter scales superlinearly with the number of 8232 + # global variables. join(1) would be nice here, but unfortunately 8233 + # isn't a blessed tool. 8234 + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter 8235 + func_append delfiles " $export_symbols $output_objdir/$libname.filter" 8236 + export_symbols=$output_objdir/$libname.def 8237 + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols 8238 + fi 8239 + 8240 + tmp_deplibs= 8241 + for test_deplib in $deplibs; do 8242 + case " $convenience " in 8243 + *" $test_deplib "*) ;; 8244 + *) 8245 + func_append tmp_deplibs " $test_deplib" 8246 + ;; 8247 + esac 8248 + done 8249 + deplibs="$tmp_deplibs" 8250 + 8251 + if test -n "$convenience"; then 8252 + if test -n "$whole_archive_flag_spec" && 8253 + test "$compiler_needs_object" = yes && 8254 + test -z "$libobjs"; then 8255 + # extract the archives, so we have objects to list. 8256 + # TODO: could optimize this to just extract one archive. 8257 + whole_archive_flag_spec= 8258 + fi 8259 + if test -n "$whole_archive_flag_spec"; then 8260 + save_libobjs=$libobjs 8261 + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" 8262 + test "X$libobjs" = "X " && libobjs= 8263 + else 8264 + gentop="$output_objdir/${outputname}x" 8265 + func_append generated " $gentop" 8266 + 8267 + func_extract_archives $gentop $convenience 8268 + func_append libobjs " $func_extract_archives_result" 8269 + test "X$libobjs" = "X " && libobjs= 8270 + fi 8271 + fi 8272 + 8273 + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then 8274 + eval flag=\"$thread_safe_flag_spec\" 8275 + func_append linker_flags " $flag" 8276 + fi 8277 + 8278 + # Make a backup of the uninstalled library when relinking 8279 + if test "$opt_mode" = relink; then 8280 + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? 8281 + fi 8282 + 8283 + # Do each of the archive commands. 8284 + if test "$module" = yes && test -n "$module_cmds" ; then 8285 + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then 8286 + eval test_cmds=\"$module_expsym_cmds\" 8287 + cmds=$module_expsym_cmds 8288 + else 8289 + eval test_cmds=\"$module_cmds\" 8290 + cmds=$module_cmds 8291 + fi 8292 + else 8293 + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then 8294 + eval test_cmds=\"$archive_expsym_cmds\" 8295 + cmds=$archive_expsym_cmds 8296 + else 8297 + eval test_cmds=\"$archive_cmds\" 8298 + cmds=$archive_cmds 8299 + fi 8300 + fi 8301 + 8302 + if test "X$skipped_export" != "X:" && 8303 + func_len " $test_cmds" && 8304 + len=$func_len_result && 8305 + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then 8306 + : 8307 + else 8308 + # The command line is too long to link in one step, link piecewise 8309 + # or, if using GNU ld and skipped_export is not :, use a linker 8310 + # script. 8311 + 8312 + # Save the value of $output and $libobjs because we want to 8313 + # use them later. If we have whole_archive_flag_spec, we 8314 + # want to use save_libobjs as it was before 8315 + # whole_archive_flag_spec was expanded, because we can't 8316 + # assume the linker understands whole_archive_flag_spec. 8317 + # This may have to be revisited, in case too many 8318 + # convenience libraries get linked in and end up exceeding 8319 + # the spec. 8320 + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then 8321 + save_libobjs=$libobjs 8322 + fi 8323 + save_output=$output 8324 + func_basename "$output" 8325 + output_la=$func_basename_result 8326 + 8327 + # Clear the reloadable object creation command queue and 8328 + # initialize k to one. 8329 + test_cmds= 8330 + concat_cmds= 8331 + objlist= 8332 + last_robj= 8333 + k=1 8334 + 8335 + if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then 8336 + output=${output_objdir}/${output_la}.lnkscript 8337 + func_verbose "creating GNU ld script: $output" 8338 + echo 'INPUT (' > $output 8339 + for obj in $save_libobjs 8340 + do 8341 + func_to_tool_file "$obj" 8342 + $ECHO "$func_to_tool_file_result" >> $output 8343 + done 8344 + echo ')' >> $output 8345 + func_append delfiles " $output" 8346 + func_to_tool_file "$output" 8347 + output=$func_to_tool_file_result 8348 + elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then 8349 + output=${output_objdir}/${output_la}.lnk 8350 + func_verbose "creating linker input file list: $output" 8351 + : > $output 8352 + set x $save_libobjs 8353 + shift 8354 + firstobj= 8355 + if test "$compiler_needs_object" = yes; then 8356 + firstobj="$1 " 8357 + shift 8358 + fi 8359 + for obj 8360 + do 8361 + func_to_tool_file "$obj" 8362 + $ECHO "$func_to_tool_file_result" >> $output 8363 + done 8364 + func_append delfiles " $output" 8365 + func_to_tool_file "$output" 8366 + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" 8367 + else 8368 + if test -n "$save_libobjs"; then 8369 + func_verbose "creating reloadable object files..." 8370 + output=$output_objdir/$output_la-${k}.$objext 8371 + eval test_cmds=\"$reload_cmds\" 8372 + func_len " $test_cmds" 8373 + len0=$func_len_result 8374 + len=$len0 8375 + 8376 + # Loop over the list of objects to be linked. 8377 + for obj in $save_libobjs 8378 + do 8379 + func_len " $obj" 8380 + func_arith $len + $func_len_result 8381 + len=$func_arith_result 8382 + if test "X$objlist" = X || 8383 + test "$len" -lt "$max_cmd_len"; then 8384 + func_append objlist " $obj" 8385 + else 8386 + # The command $test_cmds is almost too long, add a 8387 + # command to the queue. 8388 + if test "$k" -eq 1 ; then 8389 + # The first file doesn't have a previous command to add. 8390 + reload_objs=$objlist 8391 + eval concat_cmds=\"$reload_cmds\" 8392 + else 8393 + # All subsequent reloadable object files will link in 8394 + # the last one created. 8395 + reload_objs="$objlist $last_robj" 8396 + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" 8397 + fi 8398 + last_robj=$output_objdir/$output_la-${k}.$objext 8399 + func_arith $k + 1 8400 + k=$func_arith_result 8401 + output=$output_objdir/$output_la-${k}.$objext 8402 + objlist=" $obj" 8403 + func_len " $last_robj" 8404 + func_arith $len0 + $func_len_result 8405 + len=$func_arith_result 8406 + fi 8407 + done 8408 + # Handle the remaining objects by creating one last 8409 + # reloadable object file. All subsequent reloadable object 8410 + # files will link in the last one created. 8411 + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ 8412 + reload_objs="$objlist $last_robj" 8413 + eval concat_cmds=\"\${concat_cmds}$reload_cmds\" 8414 + if test -n "$last_robj"; then 8415 + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" 8416 + fi 8417 + func_append delfiles " $output" 8418 + 8419 + else 8420 + output= 8421 + fi 8422 + 8423 + if ${skipped_export-false}; then 8424 + func_verbose "generating symbol list for \`$libname.la'" 8425 + export_symbols="$output_objdir/$libname.exp" 8426 + $opt_dry_run || $RM $export_symbols 8427 + libobjs=$output 8428 + # Append the command to create the export file. 8429 + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ 8430 + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" 8431 + if test -n "$last_robj"; then 8432 + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" 8433 + fi 8434 + fi 8435 + 8436 + test -n "$save_libobjs" && 8437 + func_verbose "creating a temporary reloadable object file: $output" 8438 + 8439 + # Loop through the commands generated above and execute them. 8440 + save_ifs="$IFS"; IFS='~' 8441 + for cmd in $concat_cmds; do 8442 + IFS="$save_ifs" 8443 + $opt_silent || { 8444 + func_quote_for_expand "$cmd" 8445 + eval "func_echo $func_quote_for_expand_result" 8446 + } 8447 + $opt_dry_run || eval "$cmd" || { 8448 + lt_exit=$? 8449 + 8450 + # Restore the uninstalled library and exit 8451 + if test "$opt_mode" = relink; then 8452 + ( cd "$output_objdir" && \ 8453 + $RM "${realname}T" && \ 8454 + $MV "${realname}U" "$realname" ) 8455 + fi 8456 + 8457 + exit $lt_exit 8458 + } 8459 + done 8460 + IFS="$save_ifs" 8461 + 8462 + if test -n "$export_symbols_regex" && ${skipped_export-false}; then 8463 + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' 8464 + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' 8465 + fi 8466 + fi 8467 + 8468 + if ${skipped_export-false}; then 8469 + if test -n "$export_symbols" && test -n "$include_expsyms"; then 8470 + tmp_export_symbols="$export_symbols" 8471 + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" 8472 + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' 8473 + fi 8474 + 8475 + if test -n "$orig_export_symbols"; then 8476 + # The given exports_symbols file has to be filtered, so filter it. 8477 + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" 8478 + # FIXME: $output_objdir/$libname.filter potentially contains lots of 8479 + # 's' commands which not all seds can handle. GNU sed should be fine 8480 + # though. Also, the filter scales superlinearly with the number of 8481 + # global variables. join(1) would be nice here, but unfortunately 8482 + # isn't a blessed tool. 8483 + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter 8484 + func_append delfiles " $export_symbols $output_objdir/$libname.filter" 8485 + export_symbols=$output_objdir/$libname.def 8486 + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols 8487 + fi 8488 + fi 8489 + 8490 + libobjs=$output 8491 + # Restore the value of output. 8492 + output=$save_output 8493 + 8494 + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then 8495 + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" 8496 + test "X$libobjs" = "X " && libobjs= 8497 + fi 8498 + # Expand the library linking commands again to reset the 8499 + # value of $libobjs for piecewise linking. 8500 + 8501 + # Do each of the archive commands. 8502 + if test "$module" = yes && test -n "$module_cmds" ; then 8503 + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then 8504 + cmds=$module_expsym_cmds 8505 + else 8506 + cmds=$module_cmds 8507 + fi 8508 + else 8509 + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then 8510 + cmds=$archive_expsym_cmds 8511 + else 8512 + cmds=$archive_cmds 8513 + fi 8514 + fi 8515 + fi 8516 + 8517 + if test -n "$delfiles"; then 8518 + # Append the command to remove temporary files to $cmds. 8519 + eval cmds=\"\$cmds~\$RM $delfiles\" 8520 + fi 8521 + 8522 + # Add any objects from preloaded convenience libraries 8523 + if test -n "$dlprefiles"; then 8524 + gentop="$output_objdir/${outputname}x" 8525 + func_append generated " $gentop" 8526 + 8527 + func_extract_archives $gentop $dlprefiles 8528 + func_append libobjs " $func_extract_archives_result" 8529 + test "X$libobjs" = "X " && libobjs= 8530 + fi 8531 + 8532 + save_ifs="$IFS"; IFS='~' 8533 + for cmd in $cmds; do 8534 + IFS="$save_ifs" 8535 + eval cmd=\"$cmd\" 8536 + $opt_silent || { 8537 + func_quote_for_expand "$cmd" 8538 + eval "func_echo $func_quote_for_expand_result" 8539 + } 8540 + $opt_dry_run || eval "$cmd" || { 8541 + lt_exit=$? 8542 + 8543 + # Restore the uninstalled library and exit 8544 + if test "$opt_mode" = relink; then 8545 + ( cd "$output_objdir" && \ 8546 + $RM "${realname}T" && \ 8547 + $MV "${realname}U" "$realname" ) 8548 + fi 8549 + 8550 + exit $lt_exit 8551 + } 8552 + done 8553 + IFS="$save_ifs" 8554 + 8555 + # Restore the uninstalled library and exit 8556 + if test "$opt_mode" = relink; then 8557 + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? 8558 + 8559 + if test -n "$convenience"; then 8560 + if test -z "$whole_archive_flag_spec"; then 8561 + func_show_eval '${RM}r "$gentop"' 8562 + fi 8563 + fi 8564 + 8565 + exit $EXIT_SUCCESS 8566 + fi 8567 + 8568 + # Create links to the real library. 8569 + for linkname in $linknames; do 8570 + if test "$realname" != "$linkname"; then 8571 + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' 8572 + fi 8573 + done 8574 + 8575 + # If -module or -export-dynamic was specified, set the dlname. 8576 + if test "$module" = yes || test "$export_dynamic" = yes; then 8577 + # On all known operating systems, these are identical. 8578 + dlname="$soname" 8579 + fi 8580 + fi 8581 + ;; 8582 + 8583 + obj) 8584 + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then 8585 + func_warning "\`-dlopen' is ignored for objects" 8586 + fi 8587 + 8588 + case " $deplibs" in 8589 + *\ -l* | *\ -L*) 8590 + func_warning "\`-l' and \`-L' are ignored for objects" ;; 8591 + esac 8592 + 8593 + test -n "$rpath" && \ 8594 + func_warning "\`-rpath' is ignored for objects" 8595 + 8596 + test -n "$xrpath" && \ 8597 + func_warning "\`-R' is ignored for objects" 8598 + 8599 + test -n "$vinfo" && \ 8600 + func_warning "\`-version-info' is ignored for objects" 8601 + 8602 + test -n "$release" && \ 8603 + func_warning "\`-release' is ignored for objects" 8604 + 8605 + case $output in 8606 + *.lo) 8607 + test -n "$objs$old_deplibs" && \ 8608 + func_fatal_error "cannot build library object \`$output' from non-libtool objects" 8609 + 8610 + libobj=$output 8611 + func_lo2o "$libobj" 8612 + obj=$func_lo2o_result 8613 + ;; 8614 + *) 8615 + libobj= 8616 + obj="$output" 8617 + ;; 8618 + esac 8619 + 8620 + # Delete the old objects. 8621 + $opt_dry_run || $RM $obj $libobj 8622 + 8623 + # Objects from convenience libraries. This assumes 8624 + # single-version convenience libraries. Whenever we create 8625 + # different ones for PIC/non-PIC, this we'll have to duplicate 8626 + # the extraction. 8627 + reload_conv_objs= 8628 + gentop= 8629 + # reload_cmds runs $LD directly, so let us get rid of 8630 + # -Wl from whole_archive_flag_spec and hope we can get by with 8631 + # turning comma into space.. 8632 + wl= 8633 + 8634 + if test -n "$convenience"; then 8635 + if test -n "$whole_archive_flag_spec"; then 8636 + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" 8637 + reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` 8638 + else 8639 + gentop="$output_objdir/${obj}x" 8640 + func_append generated " $gentop" 8641 + 8642 + func_extract_archives $gentop $convenience 8643 + reload_conv_objs="$reload_objs $func_extract_archives_result" 8644 + fi 8645 + fi 8646 + 8647 + # If we're not building shared, we need to use non_pic_objs 8648 + test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" 8649 + 8650 + # Create the old-style object. 8651 + reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test 8652 + 8653 + output="$obj" 8654 + func_execute_cmds "$reload_cmds" 'exit $?' 8655 + 8656 + # Exit if we aren't doing a library object file. 8657 + if test -z "$libobj"; then 8658 + if test -n "$gentop"; then 8659 + func_show_eval '${RM}r "$gentop"' 8660 + fi 8661 + 8662 + exit $EXIT_SUCCESS 8663 + fi 8664 + 8665 + if test "$build_libtool_libs" != yes; then 8666 + if test -n "$gentop"; then 8667 + func_show_eval '${RM}r "$gentop"' 8668 + fi 8669 + 8670 + # Create an invalid libtool object if no PIC, so that we don't 8671 + # accidentally link it into a program. 8672 + # $show "echo timestamp > $libobj" 8673 + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? 8674 + exit $EXIT_SUCCESS 8675 + fi 8676 + 8677 + if test -n "$pic_flag" || test "$pic_mode" != default; then 8678 + # Only do commands if we really have different PIC objects. 8679 + reload_objs="$libobjs $reload_conv_objs" 8680 + output="$libobj" 8681 + func_execute_cmds "$reload_cmds" 'exit $?' 8682 + fi 8683 + 8684 + if test -n "$gentop"; then 8685 + func_show_eval '${RM}r "$gentop"' 8686 + fi 8687 + 8688 + exit $EXIT_SUCCESS 8689 + ;; 8690 + 8691 + prog) 8692 + case $host in 8693 + *cygwin*) func_stripname '' '.exe' "$output" 8694 + output=$func_stripname_result.exe;; 8695 + esac 8696 + test -n "$vinfo" && \ 8697 + func_warning "\`-version-info' is ignored for programs" 8698 + 8699 + test -n "$release" && \ 8700 + func_warning "\`-release' is ignored for programs" 8701 + 8702 + test "$preload" = yes \ 8703 + && test "$dlopen_support" = unknown \ 8704 + && test "$dlopen_self" = unknown \ 8705 + && test "$dlopen_self_static" = unknown && \ 8706 + func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." 8707 + 8708 + case $host in 8709 + *-*-rhapsody* | *-*-darwin1.[012]) 8710 + # On Rhapsody replace the C library is the System framework 8711 + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` 8712 + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` 8713 + ;; 8714 + esac 8715 + 8716 + case $host in 8717 + *-*-darwin*) 8718 + # Don't allow lazy linking, it breaks C++ global constructors 8719 + # But is supposedly fixed on 10.4 or later (yay!). 8720 + if test "$tagname" = CXX ; then 8721 + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 8722 + 10.[0123]) 8723 + func_append compile_command " ${wl}-bind_at_load" 8724 + func_append finalize_command " ${wl}-bind_at_load" 8725 + ;; 8726 + esac 8727 + fi 8728 + # Time to change all our "foo.ltframework" stuff back to "-framework foo" 8729 + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` 8730 + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` 8731 + ;; 8732 + esac 8733 + 8734 + 8735 + # move library search paths that coincide with paths to not yet 8736 + # installed libraries to the beginning of the library search list 8737 + new_libs= 8738 + for path in $notinst_path; do 8739 + case " $new_libs " in 8740 + *" -L$path/$objdir "*) ;; 8741 + *) 8742 + case " $compile_deplibs " in 8743 + *" -L$path/$objdir "*) 8744 + func_append new_libs " -L$path/$objdir" ;; 8745 + esac 8746 + ;; 8747 + esac 8748 + done 8749 + for deplib in $compile_deplibs; do 8750 + case $deplib in 8751 + -L*) 8752 + case " $new_libs " in 8753 + *" $deplib "*) ;; 8754 + *) func_append new_libs " $deplib" ;; 8755 + esac 8756 + ;; 8757 + *) func_append new_libs " $deplib" ;; 8758 + esac 8759 + done 8760 + compile_deplibs="$new_libs" 8761 + 8762 + 8763 + func_append compile_command " $compile_deplibs" 8764 + func_append finalize_command " $finalize_deplibs" 8765 + 8766 + if test -n "$rpath$xrpath"; then 8767 + # If the user specified any rpath flags, then add them. 8768 + for libdir in $rpath $xrpath; do 8769 + # This is the magic to use -rpath. 8770 + case "$finalize_rpath " in 8771 + *" $libdir "*) ;; 8772 + *) func_append finalize_rpath " $libdir" ;; 8773 + esac 8774 + done 8775 + fi 8776 + 8777 + # Now hardcode the library paths 8778 + rpath= 8779 + hardcode_libdirs= 8780 + for libdir in $compile_rpath $finalize_rpath; do 8781 + if test -n "$hardcode_libdir_flag_spec"; then 8782 + if test -n "$hardcode_libdir_separator"; then 8783 + if test -z "$hardcode_libdirs"; then 8784 + hardcode_libdirs="$libdir" 8785 + else 8786 + # Just accumulate the unique libdirs. 8787 + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in 8788 + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 8789 + ;; 8790 + *) 8791 + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" 8792 + ;; 8793 + esac 8794 + fi 8795 + else 8796 + eval flag=\"$hardcode_libdir_flag_spec\" 8797 + func_append rpath " $flag" 8798 + fi 8799 + elif test -n "$runpath_var"; then 8800 + case "$perm_rpath " in 8801 + *" $libdir "*) ;; 8802 + *) func_append perm_rpath " $libdir" ;; 8803 + esac 8804 + fi 8805 + case $host in 8806 + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) 8807 + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` 8808 + case :$dllsearchpath: in 8809 + *":$libdir:"*) ;; 8810 + ::) dllsearchpath=$libdir;; 8811 + *) func_append dllsearchpath ":$libdir";; 8812 + esac 8813 + case :$dllsearchpath: in 8814 + *":$testbindir:"*) ;; 8815 + ::) dllsearchpath=$testbindir;; 8816 + *) func_append dllsearchpath ":$testbindir";; 8817 + esac 8818 + ;; 8819 + esac 8820 + done 8821 + # Substitute the hardcoded libdirs into the rpath. 8822 + if test -n "$hardcode_libdir_separator" && 8823 + test -n "$hardcode_libdirs"; then 8824 + libdir="$hardcode_libdirs" 8825 + eval rpath=\" $hardcode_libdir_flag_spec\" 8826 + fi 8827 + compile_rpath="$rpath" 8828 + 8829 + rpath= 8830 + hardcode_libdirs= 8831 + for libdir in $finalize_rpath; do 8832 + if test -n "$hardcode_libdir_flag_spec"; then 8833 + if test -n "$hardcode_libdir_separator"; then 8834 + if test -z "$hardcode_libdirs"; then 8835 + hardcode_libdirs="$libdir" 8836 + else 8837 + # Just accumulate the unique libdirs. 8838 + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in 8839 + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 8840 + ;; 8841 + *) 8842 + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" 8843 + ;; 8844 + esac 8845 + fi 8846 + else 8847 + eval flag=\"$hardcode_libdir_flag_spec\" 8848 + func_append rpath " $flag" 8849 + fi 8850 + elif test -n "$runpath_var"; then 8851 + case "$finalize_perm_rpath " in 8852 + *" $libdir "*) ;; 8853 + *) func_append finalize_perm_rpath " $libdir" ;; 8854 + esac 8855 + fi 8856 + done 8857 + # Substitute the hardcoded libdirs into the rpath. 8858 + if test -n "$hardcode_libdir_separator" && 8859 + test -n "$hardcode_libdirs"; then 8860 + libdir="$hardcode_libdirs" 8861 + eval rpath=\" $hardcode_libdir_flag_spec\" 8862 + fi 8863 + finalize_rpath="$rpath" 8864 + 8865 + if test -n "$libobjs" && test "$build_old_libs" = yes; then 8866 + # Transform all the library objects into standard objects. 8867 + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` 8868 + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` 8869 + fi 8870 + 8871 + func_generate_dlsyms "$outputname" "@PROGRAM@" "no" 8872 + 8873 + # template prelinking step 8874 + if test -n "$prelink_cmds"; then 8875 + func_execute_cmds "$prelink_cmds" 'exit $?' 8876 + fi 8877 + 8878 + wrappers_required=yes 8879 + case $host in 8880 + *cegcc* | *mingw32ce*) 8881 + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. 8882 + wrappers_required=no 8883 + ;; 8884 + *cygwin* | *mingw* ) 8885 + if test "$build_libtool_libs" != yes; then 8886 + wrappers_required=no 8887 + fi 8888 + ;; 8889 + *) 8890 + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then 8891 + wrappers_required=no 8892 + fi 8893 + ;; 8894 + esac 8895 + if test "$wrappers_required" = no; then 8896 + # Replace the output file specification. 8897 + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` 8898 + link_command="$compile_command$compile_rpath" 8899 + 8900 + # We have no uninstalled library dependencies, so finalize right now. 8901 + exit_status=0 8902 + func_show_eval "$link_command" 'exit_status=$?' 8903 + 8904 + if test -n "$postlink_cmds"; then 8905 + func_to_tool_file "$output" 8906 + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` 8907 + func_execute_cmds "$postlink_cmds" 'exit $?' 8908 + fi 8909 + 8910 + # Delete the generated files. 8911 + if test -f "$output_objdir/${outputname}S.${objext}"; then 8912 + func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' 8913 + fi 8914 + 8915 + exit $exit_status 8916 + fi 8917 + 8918 + if test -n "$compile_shlibpath$finalize_shlibpath"; then 8919 + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" 8920 + fi 8921 + if test -n "$finalize_shlibpath"; then 8922 + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" 8923 + fi 8924 + 8925 + compile_var= 8926 + finalize_var= 8927 + if test -n "$runpath_var"; then 8928 + if test -n "$perm_rpath"; then 8929 + # We should set the runpath_var. 8930 + rpath= 8931 + for dir in $perm_rpath; do 8932 + func_append rpath "$dir:" 8933 + done 8934 + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " 8935 + fi 8936 + if test -n "$finalize_perm_rpath"; then 8937 + # We should set the runpath_var. 8938 + rpath= 8939 + for dir in $finalize_perm_rpath; do 8940 + func_append rpath "$dir:" 8941 + done 8942 + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " 8943 + fi 8944 + fi 8945 + 8946 + if test "$no_install" = yes; then 8947 + # We don't need to create a wrapper script. 8948 + link_command="$compile_var$compile_command$compile_rpath" 8949 + # Replace the output file specification. 8950 + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` 8951 + # Delete the old output file. 8952 + $opt_dry_run || $RM $output 8953 + # Link the executable and exit 8954 + func_show_eval "$link_command" 'exit $?' 8955 + 8956 + if test -n "$postlink_cmds"; then 8957 + func_to_tool_file "$output" 8958 + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` 8959 + func_execute_cmds "$postlink_cmds" 'exit $?' 8960 + fi 8961 + 8962 + exit $EXIT_SUCCESS 8963 + fi 8964 + 8965 + if test "$hardcode_action" = relink; then 8966 + # Fast installation is not supported 8967 + link_command="$compile_var$compile_command$compile_rpath" 8968 + relink_command="$finalize_var$finalize_command$finalize_rpath" 8969 + 8970 + func_warning "this platform does not like uninstalled shared libraries" 8971 + func_warning "\`$output' will be relinked during installation" 8972 + else 8973 + if test "$fast_install" != no; then 8974 + link_command="$finalize_var$compile_command$finalize_rpath" 8975 + if test "$fast_install" = yes; then 8976 + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` 8977 + else 8978 + # fast_install is set to needless 8979 + relink_command= 8980 + fi 8981 + else 8982 + link_command="$compile_var$compile_command$compile_rpath" 8983 + relink_command="$finalize_var$finalize_command$finalize_rpath" 8984 + fi 8985 + fi 8986 + 8987 + # Replace the output file specification. 8988 + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` 8989 + 8990 + # Delete the old output files. 8991 + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname 8992 + 8993 + func_show_eval "$link_command" 'exit $?' 8994 + 8995 + if test -n "$postlink_cmds"; then 8996 + func_to_tool_file "$output_objdir/$outputname" 8997 + 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'` 8998 + func_execute_cmds "$postlink_cmds" 'exit $?' 8999 + fi 9000 + 9001 + # Now create the wrapper script. 9002 + func_verbose "creating $output" 9003 + 9004 + # Quote the relink command for shipping. 9005 + if test -n "$relink_command"; then 9006 + # Preserve any variables that may affect compiler behavior 9007 + for var in $variables_saved_for_relink; do 9008 + if eval test -z \"\${$var+set}\"; then 9009 + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" 9010 + elif eval var_value=\$$var; test -z "$var_value"; then 9011 + relink_command="$var=; export $var; $relink_command" 9012 + else 9013 + func_quote_for_eval "$var_value" 9014 + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" 9015 + fi 9016 + done 9017 + relink_command="(cd `pwd`; $relink_command)" 9018 + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` 9019 + fi 9020 + 9021 + # Only actually do things if not in dry run mode. 9022 + $opt_dry_run || { 9023 + # win32 will think the script is a binary if it has 9024 + # a .exe suffix, so we strip it off here. 9025 + case $output in 9026 + *.exe) func_stripname '' '.exe' "$output" 9027 + output=$func_stripname_result ;; 9028 + esac 9029 + # test for cygwin because mv fails w/o .exe extensions 9030 + case $host in 9031 + *cygwin*) 9032 + exeext=.exe 9033 + func_stripname '' '.exe' "$outputname" 9034 + outputname=$func_stripname_result ;; 9035 + *) exeext= ;; 9036 + esac 9037 + case $host in 9038 + *cygwin* | *mingw* ) 9039 + func_dirname_and_basename "$output" "" "." 9040 + output_name=$func_basename_result 9041 + output_path=$func_dirname_result 9042 + cwrappersource="$output_path/$objdir/lt-$output_name.c" 9043 + cwrapper="$output_path/$output_name.exe" 9044 + $RM $cwrappersource $cwrapper 9045 + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 9046 + 9047 + func_emit_cwrapperexe_src > $cwrappersource 9048 + 9049 + # The wrapper executable is built using the $host compiler, 9050 + # because it contains $host paths and files. If cross- 9051 + # compiling, it, like the target executable, must be 9052 + # executed on the $host or under an emulation environment. 9053 + $opt_dry_run || { 9054 + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource 9055 + $STRIP $cwrapper 9056 + } 9057 + 9058 + # Now, create the wrapper script for func_source use: 9059 + func_ltwrapper_scriptname $cwrapper 9060 + $RM $func_ltwrapper_scriptname_result 9061 + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 9062 + $opt_dry_run || { 9063 + # note: this script will not be executed, so do not chmod. 9064 + if test "x$build" = "x$host" ; then 9065 + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result 9066 + else 9067 + func_emit_wrapper no > $func_ltwrapper_scriptname_result 9068 + fi 9069 + } 9070 + ;; 9071 + * ) 9072 + $RM $output 9073 + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 9074 + 9075 + func_emit_wrapper no > $output 9076 + chmod +x $output 9077 + ;; 9078 + esac 9079 + } 9080 + exit $EXIT_SUCCESS 9081 + ;; 9082 + esac 9083 + 9084 + # See if we need to build an old-fashioned archive. 9085 + for oldlib in $oldlibs; do 9086 + 9087 + if test "$build_libtool_libs" = convenience; then 9088 + oldobjs="$libobjs_save $symfileobj" 9089 + addlibs="$convenience" 9090 + build_libtool_libs=no 9091 + else 9092 + if test "$build_libtool_libs" = module; then 9093 + oldobjs="$libobjs_save" 9094 + build_libtool_libs=no 9095 + else 9096 + oldobjs="$old_deplibs $non_pic_objects" 9097 + if test "$preload" = yes && test -f "$symfileobj"; then 9098 + func_append oldobjs " $symfileobj" 9099 + fi 9100 + fi 9101 + addlibs="$old_convenience" 9102 + fi 9103 + 9104 + if test -n "$addlibs"; then 9105 + gentop="$output_objdir/${outputname}x" 9106 + func_append generated " $gentop" 9107 + 9108 + func_extract_archives $gentop $addlibs 9109 + func_append oldobjs " $func_extract_archives_result" 9110 + fi 9111 + 9112 + # Do each command in the archive commands. 9113 + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then 9114 + cmds=$old_archive_from_new_cmds 9115 + else 9116 + 9117 + # Add any objects from preloaded convenience libraries 9118 + if test -n "$dlprefiles"; then 9119 + gentop="$output_objdir/${outputname}x" 9120 + func_append generated " $gentop" 9121 + 9122 + func_extract_archives $gentop $dlprefiles 9123 + func_append oldobjs " $func_extract_archives_result" 9124 + fi 9125 + 9126 + # POSIX demands no paths to be encoded in archives. We have 9127 + # to avoid creating archives with duplicate basenames if we 9128 + # might have to extract them afterwards, e.g., when creating a 9129 + # static archive out of a convenience library, or when linking 9130 + # the entirety of a libtool archive into another (currently 9131 + # not supported by libtool). 9132 + if (for obj in $oldobjs 9133 + do 9134 + func_basename "$obj" 9135 + $ECHO "$func_basename_result" 9136 + done | sort | sort -uc >/dev/null 2>&1); then 9137 + : 9138 + else 9139 + echo "copying selected object files to avoid basename conflicts..." 9140 + gentop="$output_objdir/${outputname}x" 9141 + func_append generated " $gentop" 9142 + func_mkdir_p "$gentop" 9143 + save_oldobjs=$oldobjs 9144 + oldobjs= 9145 + counter=1 9146 + for obj in $save_oldobjs 9147 + do 9148 + func_basename "$obj" 9149 + objbase="$func_basename_result" 9150 + case " $oldobjs " in 9151 + " ") oldobjs=$obj ;; 9152 + *[\ /]"$objbase "*) 9153 + while :; do 9154 + # Make sure we don't pick an alternate name that also 9155 + # overlaps. 9156 + newobj=lt$counter-$objbase 9157 + func_arith $counter + 1 9158 + counter=$func_arith_result 9159 + case " $oldobjs " in 9160 + *[\ /]"$newobj "*) ;; 9161 + *) if test ! -f "$gentop/$newobj"; then break; fi ;; 9162 + esac 9163 + done 9164 + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" 9165 + func_append oldobjs " $gentop/$newobj" 9166 + ;; 9167 + *) func_append oldobjs " $obj" ;; 9168 + esac 9169 + done 9170 + fi 9171 + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 9172 + tool_oldlib=$func_to_tool_file_result 9173 + eval cmds=\"$old_archive_cmds\" 9174 + 9175 + func_len " $cmds" 9176 + len=$func_len_result 9177 + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then 9178 + cmds=$old_archive_cmds 9179 + elif test -n "$archiver_list_spec"; then 9180 + func_verbose "using command file archive linking..." 9181 + for obj in $oldobjs 9182 + do 9183 + func_to_tool_file "$obj" 9184 + $ECHO "$func_to_tool_file_result" 9185 + done > $output_objdir/$libname.libcmd 9186 + func_to_tool_file "$output_objdir/$libname.libcmd" 9187 + oldobjs=" $archiver_list_spec$func_to_tool_file_result" 9188 + cmds=$old_archive_cmds 9189 + else 9190 + # the command line is too long to link in one step, link in parts 9191 + func_verbose "using piecewise archive linking..." 9192 + save_RANLIB=$RANLIB 9193 + RANLIB=: 9194 + objlist= 9195 + concat_cmds= 9196 + save_oldobjs=$oldobjs 9197 + oldobjs= 9198 + # Is there a better way of finding the last object in the list? 9199 + for obj in $save_oldobjs 9200 + do 9201 + last_oldobj=$obj 9202 + done 9203 + eval test_cmds=\"$old_archive_cmds\" 9204 + func_len " $test_cmds" 9205 + len0=$func_len_result 9206 + len=$len0 9207 + for obj in $save_oldobjs 9208 + do 9209 + func_len " $obj" 9210 + func_arith $len + $func_len_result 9211 + len=$func_arith_result 9212 + func_append objlist " $obj" 9213 + if test "$len" -lt "$max_cmd_len"; then 9214 + : 9215 + else 9216 + # the above command should be used before it gets too long 9217 + oldobjs=$objlist 9218 + if test "$obj" = "$last_oldobj" ; then 9219 + RANLIB=$save_RANLIB 9220 + fi 9221 + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ 9222 + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" 9223 + objlist= 9224 + len=$len0 9225 + fi 9226 + done 9227 + RANLIB=$save_RANLIB 9228 + oldobjs=$objlist 9229 + if test "X$oldobjs" = "X" ; then 9230 + eval cmds=\"\$concat_cmds\" 9231 + else 9232 + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" 9233 + fi 9234 + fi 9235 + fi 9236 + func_execute_cmds "$cmds" 'exit $?' 9237 + done 9238 + 9239 + test -n "$generated" && \ 9240 + func_show_eval "${RM}r$generated" 9241 + 9242 + # Now create the libtool archive. 9243 + case $output in 9244 + *.la) 9245 + old_library= 9246 + test "$build_old_libs" = yes && old_library="$libname.$libext" 9247 + func_verbose "creating $output" 9248 + 9249 + # Preserve any variables that may affect compiler behavior 9250 + for var in $variables_saved_for_relink; do 9251 + if eval test -z \"\${$var+set}\"; then 9252 + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" 9253 + elif eval var_value=\$$var; test -z "$var_value"; then 9254 + relink_command="$var=; export $var; $relink_command" 9255 + else 9256 + func_quote_for_eval "$var_value" 9257 + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" 9258 + fi 9259 + done 9260 + # Quote the link command for shipping. 9261 + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" 9262 + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` 9263 + if test "$hardcode_automatic" = yes ; then 9264 + relink_command= 9265 + fi 9266 + 9267 + # Only create the output if not a dry run. 9268 + $opt_dry_run || { 9269 + for installed in no yes; do 9270 + if test "$installed" = yes; then 9271 + if test -z "$install_libdir"; then 9272 + break 9273 + fi 9274 + output="$output_objdir/$outputname"i 9275 + # Replace all uninstalled libtool libraries with the installed ones 9276 + newdependency_libs= 9277 + for deplib in $dependency_libs; do 9278 + case $deplib in 9279 + *.la) 9280 + func_basename "$deplib" 9281 + name="$func_basename_result" 9282 + func_resolve_sysroot "$deplib" 9283 + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` 9284 + test -z "$libdir" && \ 9285 + func_fatal_error "\`$deplib' is not a valid libtool archive" 9286 + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" 9287 + ;; 9288 + -L*) 9289 + func_stripname -L '' "$deplib" 9290 + func_replace_sysroot "$func_stripname_result" 9291 + func_append newdependency_libs " -L$func_replace_sysroot_result" 9292 + ;; 9293 + -R*) 9294 + func_stripname -R '' "$deplib" 9295 + func_replace_sysroot "$func_stripname_result" 9296 + func_append newdependency_libs " -R$func_replace_sysroot_result" 9297 + ;; 9298 + *) func_append newdependency_libs " $deplib" ;; 9299 + esac 9300 + done 9301 + dependency_libs="$newdependency_libs" 9302 + newdlfiles= 9303 + 9304 + for lib in $dlfiles; do 9305 + case $lib in 9306 + *.la) 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 newdlfiles " ${lt_sysroot:+=}$libdir/$name" 9313 + ;; 9314 + *) func_append newdlfiles " $lib" ;; 9315 + esac 9316 + done 9317 + dlfiles="$newdlfiles" 9318 + newdlprefiles= 9319 + for lib in $dlprefiles; do 9320 + case $lib in 9321 + *.la) 9322 + # Only pass preopened files to the pseudo-archive (for 9323 + # eventual linking with the app. that links it) if we 9324 + # didn't already link the preopened objects directly into 9325 + # the library: 9326 + func_basename "$lib" 9327 + name="$func_basename_result" 9328 + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` 9329 + test -z "$libdir" && \ 9330 + func_fatal_error "\`$lib' is not a valid libtool archive" 9331 + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" 9332 + ;; 9333 + esac 9334 + done 9335 + dlprefiles="$newdlprefiles" 9336 + else 9337 + newdlfiles= 9338 + for lib in $dlfiles; do 9339 + case $lib in 9340 + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; 9341 + *) abs=`pwd`"/$lib" ;; 9342 + esac 9343 + func_append newdlfiles " $abs" 9344 + done 9345 + dlfiles="$newdlfiles" 9346 + newdlprefiles= 9347 + for lib in $dlprefiles; do 9348 + case $lib in 9349 + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; 9350 + *) abs=`pwd`"/$lib" ;; 9351 + esac 9352 + func_append newdlprefiles " $abs" 9353 + done 9354 + dlprefiles="$newdlprefiles" 9355 + fi 9356 + $RM $output 9357 + # place dlname in correct position for cygwin 9358 + # In fact, it would be nice if we could use this code for all target 9359 + # systems that can't hard-code library paths into their executables 9360 + # and that have no shared library path variable independent of PATH, 9361 + # but it turns out we can't easily determine that from inspecting 9362 + # libtool variables, so we have to hard-code the OSs to which it 9363 + # applies here; at the moment, that means platforms that use the PE 9364 + # object format with DLL files. See the long comment at the top of 9365 + # tests/bindir.at for full details. 9366 + tdlname=$dlname 9367 + case $host,$output,$installed,$module,$dlname in 9368 + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) 9369 + # If a -bindir argument was supplied, place the dll there. 9370 + if test "x$bindir" != x ; 9371 + then 9372 + func_relative_path "$install_libdir" "$bindir" 9373 + tdlname=$func_relative_path_result$dlname 9374 + else 9375 + # Otherwise fall back on heuristic. 9376 + tdlname=../bin/$dlname 9377 + fi 9378 + ;; 9379 + esac 9380 + $ECHO > $output "\ 9381 +# $outputname - a libtool library file 9382 +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION 9383 +# 9384 +# Please DO NOT delete this file! 9385 +# It is necessary for linking the library. 9386 + 9387 +# The name that we can dlopen(3). 9388 +dlname='$tdlname' 9389 + 9390 +# Names of this library. 9391 +library_names='$library_names' 9392 + 9393 +# The name of the static archive. 9394 +old_library='$old_library' 9395 + 9396 +# Linker flags that can not go in dependency_libs. 9397 +inherited_linker_flags='$new_inherited_linker_flags' 9398 + 9399 +# Libraries that this one depends upon. 9400 +dependency_libs='$dependency_libs' 9401 + 9402 +# Names of additional weak libraries provided by this library 9403 +weak_library_names='$weak_libs' 9404 + 9405 +# Version information for $libname. 9406 +current=$current 9407 +age=$age 9408 +revision=$revision 9409 + 9410 +# Is this an already installed library? 9411 +installed=$installed 9412 + 9413 +# Should we warn about portability when linking against -modules? 9414 +shouldnotlink=$module 9415 + 9416 +# Files to dlopen/dlpreopen 9417 +dlopen='$dlfiles' 9418 +dlpreopen='$dlprefiles' 9419 + 9420 +# Directory that this library needs to be installed in: 9421 +libdir='$install_libdir'" 9422 + if test "$installed" = no && test "$need_relink" = yes; then 9423 + $ECHO >> $output "\ 9424 +relink_command=\"$relink_command\"" 9425 + fi 9426 + done 9427 + } 9428 + 9429 + # Do a symbolic link so that the libtool archive can be found in 9430 + # LD_LIBRARY_PATH before the program is installed. 9431 + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' 9432 + ;; 9433 + esac 9434 + exit $EXIT_SUCCESS 9435 +} 9436 + 9437 +{ test "$opt_mode" = link || test "$opt_mode" = relink; } && 9438 + func_mode_link ${1+"$@"} 9439 + 9440 + 9441 +# func_mode_uninstall arg... 9442 +func_mode_uninstall () 9443 +{ 9444 + $opt_debug 9445 + RM="$nonopt" 9446 + files= 9447 + rmforce= 9448 + exit_status=0 9449 + 9450 + # This variable tells wrapper scripts just to set variables rather 9451 + # than running their programs. 9452 + libtool_install_magic="$magic" 9453 + 9454 + for arg 9455 + do 9456 + case $arg in 9457 + -f) func_append RM " $arg"; rmforce=yes ;; 9458 + -*) func_append RM " $arg" ;; 9459 + *) func_append files " $arg" ;; 9460 + esac 9461 + done 9462 + 9463 + test -z "$RM" && \ 9464 + func_fatal_help "you must specify an RM program" 9465 + 9466 + rmdirs= 9467 + 9468 + for file in $files; do 9469 + func_dirname "$file" "" "." 9470 + dir="$func_dirname_result" 9471 + if test "X$dir" = X.; then 9472 + odir="$objdir" 9473 + else 9474 + odir="$dir/$objdir" 9475 + fi 9476 + func_basename "$file" 9477 + name="$func_basename_result" 9478 + test "$opt_mode" = uninstall && odir="$dir" 9479 + 9480 + # Remember odir for removal later, being careful to avoid duplicates 9481 + if test "$opt_mode" = clean; then 9482 + case " $rmdirs " in 9483 + *" $odir "*) ;; 9484 + *) func_append rmdirs " $odir" ;; 9485 + esac 9486 + fi 9487 + 9488 + # Don't error if the file doesn't exist and rm -f was used. 9489 + if { test -L "$file"; } >/dev/null 2>&1 || 9490 + { test -h "$file"; } >/dev/null 2>&1 || 9491 + test -f "$file"; then 9492 + : 9493 + elif test -d "$file"; then 9494 + exit_status=1 9495 + continue 9496 + elif test "$rmforce" = yes; then 9497 + continue 9498 + fi 9499 + 9500 + rmfiles="$file" 9501 + 9502 + case $name in 9503 + *.la) 9504 + # Possibly a libtool archive, so verify it. 9505 + if func_lalib_p "$file"; then 9506 + func_source $dir/$name 9507 + 9508 + # Delete the libtool libraries and symlinks. 9509 + for n in $library_names; do 9510 + func_append rmfiles " $odir/$n" 9511 + done 9512 + test -n "$old_library" && func_append rmfiles " $odir/$old_library" 9513 + 9514 + case "$opt_mode" in 9515 + clean) 9516 + case " $library_names " in 9517 + *" $dlname "*) ;; 9518 + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; 9519 + esac 9520 + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" 9521 + ;; 9522 + uninstall) 9523 + if test -n "$library_names"; then 9524 + # Do each command in the postuninstall commands. 9525 + func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' 9526 + fi 9527 + 9528 + if test -n "$old_library"; then 9529 + # Do each command in the old_postuninstall commands. 9530 + func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' 9531 + fi 9532 + # FIXME: should reinstall the best remaining shared library. 9533 + ;; 9534 + esac 9535 + fi 9536 + ;; 9537 + 9538 + *.lo) 9539 + # Possibly a libtool object, so verify it. 9540 + if func_lalib_p "$file"; then 9541 + 9542 + # Read the .lo file 9543 + func_source $dir/$name 9544 + 9545 + # Add PIC object to the list of files to remove. 9546 + if test -n "$pic_object" && 9547 + test "$pic_object" != none; then 9548 + func_append rmfiles " $dir/$pic_object" 9549 + fi 9550 + 9551 + # Add non-PIC object to the list of files to remove. 9552 + if test -n "$non_pic_object" && 9553 + test "$non_pic_object" != none; then 9554 + func_append rmfiles " $dir/$non_pic_object" 9555 + fi 9556 + fi 9557 + ;; 9558 + 9559 + *) 9560 + if test "$opt_mode" = clean ; then 9561 + noexename=$name 9562 + case $file in 9563 + *.exe) 9564 + func_stripname '' '.exe' "$file" 9565 + file=$func_stripname_result 9566 + func_stripname '' '.exe' "$name" 9567 + noexename=$func_stripname_result 9568 + # $file with .exe has already been added to rmfiles, 9569 + # add $file without .exe 9570 + func_append rmfiles " $file" 9571 + ;; 9572 + esac 9573 + # Do a test to see if this is a libtool program. 9574 + if func_ltwrapper_p "$file"; then 9575 + if func_ltwrapper_executable_p "$file"; then 9576 + func_ltwrapper_scriptname "$file" 9577 + relink_command= 9578 + func_source $func_ltwrapper_scriptname_result 9579 + func_append rmfiles " $func_ltwrapper_scriptname_result" 9580 + else 9581 + relink_command= 9582 + func_source $dir/$noexename 9583 + fi 9584 + 9585 + # note $name still contains .exe if it was in $file originally 9586 + # as does the version of $file that was added into $rmfiles 9587 + func_append rmfiles " $odir/$name $odir/${name}S.${objext}" 9588 + if test "$fast_install" = yes && test -n "$relink_command"; then 9589 + func_append rmfiles " $odir/lt-$name" 9590 + fi 9591 + if test "X$noexename" != "X$name" ; then 9592 + func_append rmfiles " $odir/lt-${noexename}.c" 9593 + fi 9594 + fi 9595 + fi 9596 + ;; 9597 + esac 9598 + func_show_eval "$RM $rmfiles" 'exit_status=1' 9599 + done 9600 + 9601 + # Try to remove the ${objdir}s in the directories where we deleted files 9602 + for dir in $rmdirs; do 9603 + if test -d "$dir"; then 9604 + func_show_eval "rmdir $dir >/dev/null 2>&1" 9605 + fi 9606 + done 9607 + 9608 + exit $exit_status 9609 +} 9610 + 9611 +{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && 9612 + func_mode_uninstall ${1+"$@"} 9613 + 9614 +test -z "$opt_mode" && { 9615 + help="$generic_help" 9616 + func_fatal_help "you must specify a MODE" 9617 +} 9618 + 9619 +test -z "$exec_cmd" && \ 9620 + func_fatal_help "invalid operation mode \`$opt_mode'" 9621 + 9622 +if test -n "$exec_cmd"; then 9623 + eval exec "$exec_cmd" 9624 + exit $EXIT_FAILURE 9625 +fi 9626 + 9627 +exit $exit_status 9628 + 9629 + 9630 +# The TAGs below are defined such that we never get into a situation 9631 +# in which we disable both kinds of libraries. Given conflicting 9632 +# choices, we go for a static library, that is the most portable, 9633 +# since we can't tell whether shared libraries were disabled because 9634 +# the user asked for that or because the platform doesn't support 9635 +# them. This is particularly important on AIX, because we don't 9636 +# support having both static and shared libraries enabled at the same 9637 +# time on that platform, so we default to a shared-only configuration. 9638 +# If a disable-shared tag is given, we'll fallback to a static-only 9639 +# configuration. But we'll never go from static-only to shared-only. 9640 + 9641 +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared 9642 +build_libtool_libs=no 9643 +build_old_libs=yes 9644 +# ### END LIBTOOL TAG CONFIG: disable-shared 9645 + 9646 +# ### BEGIN LIBTOOL TAG CONFIG: disable-static 9647 +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` 9648 +# ### END LIBTOOL TAG CONFIG: disable-static 9649 + 9650 +# Local Variables: 9651 +# mode:shell-script 9652 +# sh-indentation:2 9653 +# End: 9654 +# vi:sw=2 9655 +
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, 2011 Free Software 5 +# Foundation, 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, 2011 Free Software 15 +# Foundation, 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([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl 150 +dnl 151 +_LT_DECL([], [host_alias], [0], [The host system])dnl 152 +_LT_DECL([], [host], [0])dnl 153 +_LT_DECL([], [host_os], [0])dnl 154 +dnl 155 +_LT_DECL([], [build_alias], [0], [The build system])dnl 156 +_LT_DECL([], [build], [0])dnl 157 +_LT_DECL([], [build_os], [0])dnl 158 +dnl 159 +AC_REQUIRE([AC_PROG_CC])dnl 160 +AC_REQUIRE([LT_PATH_LD])dnl 161 +AC_REQUIRE([LT_PATH_NM])dnl 162 +dnl 163 +AC_REQUIRE([AC_PROG_LN_S])dnl 164 +test -z "$LN_S" && LN_S="ln -s" 165 +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 166 +dnl 167 +AC_REQUIRE([LT_CMD_MAX_LEN])dnl 168 +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 169 +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 170 +dnl 171 +m4_require([_LT_FILEUTILS_DEFAULTS])dnl 172 +m4_require([_LT_CHECK_SHELL_FEATURES])dnl 173 +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl 174 +m4_require([_LT_CMD_RELOAD])dnl 175 +m4_require([_LT_CHECK_MAGIC_METHOD])dnl 176 +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl 177 +m4_require([_LT_CMD_OLD_ARCHIVE])dnl 178 +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 179 +m4_require([_LT_WITH_SYSROOT])dnl 180 + 181 +_LT_CONFIG_LIBTOOL_INIT([ 182 +# See if we are running on zsh, and set the options which allow our 183 +# commands through without removal of \ escapes INIT. 184 +if test -n "\${ZSH_VERSION+set}" ; then 185 + setopt NO_GLOB_SUBST 186 +fi 187 +]) 188 +if test -n "${ZSH_VERSION+set}" ; then 189 + setopt NO_GLOB_SUBST 190 +fi 191 + 192 +_LT_CHECK_OBJDIR 193 + 194 +m4_require([_LT_TAG_COMPILER])dnl 195 + 196 +case $host_os in 197 +aix3*) 198 + # AIX sometimes has problems with the GCC collect2 program. For some 199 + # reason, if we set the COLLECT_NAMES environment variable, the problems 200 + # vanish in a puff of smoke. 201 + if test "X${COLLECT_NAMES+set}" != Xset; then 202 + COLLECT_NAMES= 203 + export COLLECT_NAMES 204 + fi 205 + ;; 206 +esac 207 + 208 +# Global variables: 209 +ofile=libtool 210 +can_build_shared=yes 211 + 212 +# All known linkers require a `.a' archive for static linking (except MSVC, 213 +# which needs '.lib'). 214 +libext=a 215 + 216 +with_gnu_ld="$lt_cv_prog_gnu_ld" 217 + 218 +old_CC="$CC" 219 +old_CFLAGS="$CFLAGS" 220 + 221 +# Set sane defaults for various variables 222 +test -z "$CC" && CC=cc 223 +test -z "$LTCC" && LTCC=$CC 224 +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 225 +test -z "$LD" && LD=ld 226 +test -z "$ac_objext" && ac_objext=o 227 + 228 +_LT_CC_BASENAME([$compiler]) 229 + 230 +# Only perform the check for file, if the check method requires it 231 +test -z "$MAGIC_CMD" && MAGIC_CMD=file 232 +case $deplibs_check_method in 233 +file_magic*) 234 + if test "$file_magic_cmd" = '$MAGIC_CMD'; then 235 + _LT_PATH_MAGIC 236 + fi 237 + ;; 238 +esac 239 + 240 +# Use C for the default configuration in the libtool script 241 +LT_SUPPORTED_TAG([CC]) 242 +_LT_LANG_C_CONFIG 243 +_LT_LANG_DEFAULT_CONFIG 244 +_LT_CONFIG_COMMANDS 245 +])# _LT_SETUP 246 + 247 + 248 +# _LT_PREPARE_SED_QUOTE_VARS 249 +# -------------------------- 250 +# Define a few sed substitution that help us do robust quoting. 251 +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], 252 +[# Backslashify metacharacters that are still active within 253 +# double-quoted strings. 254 +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 255 + 256 +# Same as above, but do not quote variable references. 257 +double_quote_subst='s/\([["`\\]]\)/\\\1/g' 258 + 259 +# Sed substitution to delay expansion of an escaped shell variable in a 260 +# double_quote_subst'ed string. 261 +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 262 + 263 +# Sed substitution to delay expansion of an escaped single quote. 264 +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 265 + 266 +# Sed substitution to avoid accidental globbing in evaled expressions 267 +no_glob_subst='s/\*/\\\*/g' 268 +]) 269 + 270 +# _LT_PROG_LTMAIN 271 +# --------------- 272 +# Note that this code is called both from `configure', and `config.status' 273 +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 274 +# `config.status' has no value for ac_aux_dir unless we are using Automake, 275 +# so we pass a copy along to make sure it has a sensible value anyway. 276 +m4_defun([_LT_PROG_LTMAIN], 277 +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 278 +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 279 +ltmain="$ac_aux_dir/ltmain.sh" 280 +])# _LT_PROG_LTMAIN 281 + 282 + 283 +## ------------------------------------- ## 284 +## Accumulate code for creating libtool. ## 285 +## ------------------------------------- ## 286 + 287 +# So that we can recreate a full libtool script including additional 288 +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 289 +# in macros and then make a single call at the end using the `libtool' 290 +# label. 291 + 292 + 293 +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 294 +# ---------------------------------------- 295 +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 296 +m4_define([_LT_CONFIG_LIBTOOL_INIT], 297 +[m4_ifval([$1], 298 + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 299 + [$1 300 +])])]) 301 + 302 +# Initialize. 303 +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) 304 + 305 + 306 +# _LT_CONFIG_LIBTOOL([COMMANDS]) 307 +# ------------------------------ 308 +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 309 +m4_define([_LT_CONFIG_LIBTOOL], 310 +[m4_ifval([$1], 311 + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 312 + [$1 313 +])])]) 314 + 315 +# Initialize. 316 +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 317 + 318 + 319 +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 320 +# ----------------------------------------------------- 321 +m4_defun([_LT_CONFIG_SAVE_COMMANDS], 322 +[_LT_CONFIG_LIBTOOL([$1]) 323 +_LT_CONFIG_LIBTOOL_INIT([$2]) 324 +]) 325 + 326 + 327 +# _LT_FORMAT_COMMENT([COMMENT]) 328 +# ----------------------------- 329 +# Add leading comment marks to the start of each line, and a trailing 330 +# full-stop to the whole comment if one is not present already. 331 +m4_define([_LT_FORMAT_COMMENT], 332 +[m4_ifval([$1], [ 333 +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 334 + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 335 +)]) 336 + 337 + 338 + 339 +## ------------------------ ## 340 +## FIXME: Eliminate VARNAME ## 341 +## ------------------------ ## 342 + 343 + 344 +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 345 +# ------------------------------------------------------------------- 346 +# CONFIGNAME is the name given to the value in the libtool script. 347 +# VARNAME is the (base) name used in the configure script. 348 +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on 349 +# VARNAME. Any other value will be used directly. 350 +m4_define([_LT_DECL], 351 +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 352 + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 353 + [m4_ifval([$1], [$1], [$2])]) 354 + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 355 + m4_ifval([$4], 356 + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 357 + lt_dict_add_subkey([lt_decl_dict], [$2], 358 + [tagged?], [m4_ifval([$5], [yes], [no])])]) 359 +]) 360 + 361 + 362 +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 363 +# -------------------------------------------------------- 364 +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 365 + 366 + 367 +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 368 +# ------------------------------------------------ 369 +m4_define([lt_decl_tag_varnames], 370 +[_lt_decl_filter([tagged?], [yes], $@)]) 371 + 372 + 373 +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 374 +# --------------------------------------------------------- 375 +m4_define([_lt_decl_filter], 376 +[m4_case([$#], 377 + [0], [m4_fatal([$0: too few arguments: $#])], 378 + [1], [m4_fatal([$0: too few arguments: $#: $1])], 379 + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 380 + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 381 + [lt_dict_filter([lt_decl_dict], $@)])[]dnl 382 +]) 383 + 384 + 385 +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 386 +# -------------------------------------------------- 387 +m4_define([lt_decl_quote_varnames], 388 +[_lt_decl_filter([value], [1], $@)]) 389 + 390 + 391 +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 392 +# --------------------------------------------------- 393 +m4_define([lt_decl_dquote_varnames], 394 +[_lt_decl_filter([value], [2], $@)]) 395 + 396 + 397 +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 398 +# --------------------------------------------------- 399 +m4_define([lt_decl_varnames_tagged], 400 +[m4_assert([$# <= 2])dnl 401 +_$0(m4_quote(m4_default([$1], [[, ]])), 402 + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 403 + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 404 +m4_define([_lt_decl_varnames_tagged], 405 +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 406 + 407 + 408 +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 409 +# ------------------------------------------------ 410 +m4_define([lt_decl_all_varnames], 411 +[_$0(m4_quote(m4_default([$1], [[, ]])), 412 + m4_if([$2], [], 413 + m4_quote(lt_decl_varnames), 414 + m4_quote(m4_shift($@))))[]dnl 415 +]) 416 +m4_define([_lt_decl_all_varnames], 417 +[lt_join($@, lt_decl_varnames_tagged([$1], 418 + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 419 +]) 420 + 421 + 422 +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) 423 +# ------------------------------------ 424 +# Quote a variable value, and forward it to `config.status' so that its 425 +# declaration there will have the same value as in `configure'. VARNAME 426 +# must have a single quote delimited value for this to work. 427 +m4_define([_LT_CONFIG_STATUS_DECLARE], 428 +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) 429 + 430 + 431 +# _LT_CONFIG_STATUS_DECLARATIONS 432 +# ------------------------------ 433 +# We delimit libtool config variables with single quotes, so when 434 +# we write them to config.status, we have to be sure to quote all 435 +# embedded single quotes properly. In configure, this macro expands 436 +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 437 +# 438 +# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' 439 +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 440 +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 441 + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 442 + 443 + 444 +# _LT_LIBTOOL_TAGS 445 +# ---------------- 446 +# Output comment and list of tags supported by the script 447 +m4_defun([_LT_LIBTOOL_TAGS], 448 +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 449 +available_tags="_LT_TAGS"dnl 450 +]) 451 + 452 + 453 +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 454 +# ----------------------------------- 455 +# Extract the dictionary values for VARNAME (optionally with TAG) and 456 +# expand to a commented shell variable setting: 457 +# 458 +# # Some comment about what VAR is for. 459 +# visible_name=$lt_internal_name 460 +m4_define([_LT_LIBTOOL_DECLARE], 461 +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 462 + [description])))[]dnl 463 +m4_pushdef([_libtool_name], 464 + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 465 +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 466 + [0], [_libtool_name=[$]$1], 467 + [1], [_libtool_name=$lt_[]$1], 468 + [2], [_libtool_name=$lt_[]$1], 469 + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 470 +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 471 +]) 472 + 473 + 474 +# _LT_LIBTOOL_CONFIG_VARS 475 +# ----------------------- 476 +# Produce commented declarations of non-tagged libtool config variables 477 +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' 478 +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG 479 +# section) are produced by _LT_LIBTOOL_TAG_VARS. 480 +m4_defun([_LT_LIBTOOL_CONFIG_VARS], 481 +[m4_foreach([_lt_var], 482 + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 483 + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 484 + 485 + 486 +# _LT_LIBTOOL_TAG_VARS(TAG) 487 +# ------------------------- 488 +m4_define([_LT_LIBTOOL_TAG_VARS], 489 +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 490 + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 491 + 492 + 493 +# _LT_TAGVAR(VARNAME, [TAGNAME]) 494 +# ------------------------------ 495 +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 496 + 497 + 498 +# _LT_CONFIG_COMMANDS 499 +# ------------------- 500 +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 501 +# variables for single and double quote escaping we saved from calls 502 +# to _LT_DECL, we can put quote escaped variables declarations 503 +# into `config.status', and then the shell code to quote escape them in 504 +# for loops in `config.status'. Finally, any additional code accumulated 505 +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 506 +m4_defun([_LT_CONFIG_COMMANDS], 507 +[AC_PROVIDE_IFELSE([LT_OUTPUT], 508 + dnl If the libtool generation code has been placed in $CONFIG_LT, 509 + dnl instead of duplicating it all over again into config.status, 510 + dnl then we will have config.status run $CONFIG_LT later, so it 511 + dnl needs to know what name is stored there: 512 + [AC_CONFIG_COMMANDS([libtool], 513 + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 514 + dnl If the libtool generation code is destined for config.status, 515 + dnl expand the accumulated commands and init code now: 516 + [AC_CONFIG_COMMANDS([libtool], 517 + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 518 +])#_LT_CONFIG_COMMANDS 519 + 520 + 521 +# Initialize. 522 +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 523 +[ 524 + 525 +# The HP-UX ksh and POSIX shell print the target directory to stdout 526 +# if CDPATH is set. 527 +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 528 + 529 +sed_quote_subst='$sed_quote_subst' 530 +double_quote_subst='$double_quote_subst' 531 +delay_variable_subst='$delay_variable_subst' 532 +_LT_CONFIG_STATUS_DECLARATIONS 533 +LTCC='$LTCC' 534 +LTCFLAGS='$LTCFLAGS' 535 +compiler='$compiler_DEFAULT' 536 + 537 +# A function that is used when there is no print builtin or printf. 538 +func_fallback_echo () 539 +{ 540 + eval 'cat <<_LTECHO_EOF 541 +\$[]1 542 +_LTECHO_EOF' 543 +} 544 + 545 +# Quote evaled strings. 546 +for var in lt_decl_all_varnames([[ \ 547 +]], lt_decl_quote_varnames); do 548 + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 549 + *[[\\\\\\\`\\"\\\$]]*) 550 + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" 551 + ;; 552 + *) 553 + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 554 + ;; 555 + esac 556 +done 557 + 558 +# Double-quote double-evaled strings. 559 +for var in lt_decl_all_varnames([[ \ 560 +]], lt_decl_dquote_varnames); do 561 + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 562 + *[[\\\\\\\`\\"\\\$]]*) 563 + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" 564 + ;; 565 + *) 566 + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 567 + ;; 568 + esac 569 +done 570 + 571 +_LT_OUTPUT_LIBTOOL_INIT 572 +]) 573 + 574 +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) 575 +# ------------------------------------ 576 +# Generate a child script FILE with all initialization necessary to 577 +# reuse the environment learned by the parent script, and make the 578 +# file executable. If COMMENT is supplied, it is inserted after the 579 +# `#!' sequence but before initialization text begins. After this 580 +# macro, additional text can be appended to FILE to form the body of 581 +# the child script. The macro ends with non-zero status if the 582 +# file could not be fully written (such as if the disk is full). 583 +m4_ifdef([AS_INIT_GENERATED], 584 +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], 585 +[m4_defun([_LT_GENERATED_FILE_INIT], 586 +[m4_require([AS_PREPARE])]dnl 587 +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl 588 +[lt_write_fail=0 589 +cat >$1 <<_ASEOF || lt_write_fail=1 590 +#! $SHELL 591 +# Generated by $as_me. 592 +$2 593 +SHELL=\${CONFIG_SHELL-$SHELL} 594 +export SHELL 595 +_ASEOF 596 +cat >>$1 <<\_ASEOF || lt_write_fail=1 597 +AS_SHELL_SANITIZE 598 +_AS_PREPARE 599 +exec AS_MESSAGE_FD>&1 600 +_ASEOF 601 +test $lt_write_fail = 0 && chmod +x $1[]dnl 602 +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT 603 + 604 +# LT_OUTPUT 605 +# --------- 606 +# This macro allows early generation of the libtool script (before 607 +# AC_OUTPUT is called), incase it is used in configure for compilation 608 +# tests. 609 +AC_DEFUN([LT_OUTPUT], 610 +[: ${CONFIG_LT=./config.lt} 611 +AC_MSG_NOTICE([creating $CONFIG_LT]) 612 +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], 613 +[# Run this file to recreate a libtool stub with the current configuration.]) 614 + 615 +cat >>"$CONFIG_LT" <<\_LTEOF 616 +lt_cl_silent=false 617 +exec AS_MESSAGE_LOG_FD>>config.log 618 +{ 619 + echo 620 + AS_BOX([Running $as_me.]) 621 +} >&AS_MESSAGE_LOG_FD 622 + 623 +lt_cl_help="\ 624 +\`$as_me' creates a local libtool stub from the current configuration, 625 +for use in further configure time tests before the real libtool is 626 +generated. 627 + 628 +Usage: $[0] [[OPTIONS]] 629 + 630 + -h, --help print this help, then exit 631 + -V, --version print version number, then exit 632 + -q, --quiet do not print progress messages 633 + -d, --debug don't remove temporary files 634 + 635 +Report bugs to <bug-libtool@gnu.org>." 636 + 637 +lt_cl_version="\ 638 +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 639 +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 640 +configured by $[0], generated by m4_PACKAGE_STRING. 641 + 642 +Copyright (C) 2011 Free Software Foundation, Inc. 643 +This config.lt script is free software; the Free Software Foundation 644 +gives unlimited permision to copy, distribute and modify it." 645 + 646 +while test $[#] != 0 647 +do 648 + case $[1] in 649 + --version | --v* | -V ) 650 + echo "$lt_cl_version"; exit 0 ;; 651 + --help | --h* | -h ) 652 + echo "$lt_cl_help"; exit 0 ;; 653 + --debug | --d* | -d ) 654 + debug=: ;; 655 + --quiet | --q* | --silent | --s* | -q ) 656 + lt_cl_silent=: ;; 657 + 658 + -*) AC_MSG_ERROR([unrecognized option: $[1] 659 +Try \`$[0] --help' for more information.]) ;; 660 + 661 + *) AC_MSG_ERROR([unrecognized argument: $[1] 662 +Try \`$[0] --help' for more information.]) ;; 663 + esac 664 + shift 665 +done 666 + 667 +if $lt_cl_silent; then 668 + exec AS_MESSAGE_FD>/dev/null 669 +fi 670 +_LTEOF 671 + 672 +cat >>"$CONFIG_LT" <<_LTEOF 673 +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT 674 +_LTEOF 675 + 676 +cat >>"$CONFIG_LT" <<\_LTEOF 677 +AC_MSG_NOTICE([creating $ofile]) 678 +_LT_OUTPUT_LIBTOOL_COMMANDS 679 +AS_EXIT(0) 680 +_LTEOF 681 +chmod +x "$CONFIG_LT" 682 + 683 +# configure is writing to config.log, but config.lt does its own redirection, 684 +# appending to config.log, which fails on DOS, as config.log is still kept 685 +# open by configure. Here we exec the FD to /dev/null, effectively closing 686 +# config.log, so it can be properly (re)opened and appended to by config.lt. 687 +lt_cl_success=: 688 +test "$silent" = yes && 689 + lt_config_lt_args="$lt_config_lt_args --quiet" 690 +exec AS_MESSAGE_LOG_FD>/dev/null 691 +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 692 +exec AS_MESSAGE_LOG_FD>>config.log 693 +$lt_cl_success || AS_EXIT(1) 694 +])# LT_OUTPUT 695 + 696 + 697 +# _LT_CONFIG(TAG) 698 +# --------------- 699 +# If TAG is the built-in tag, create an initial libtool script with a 700 +# default configuration from the untagged config vars. Otherwise add code 701 +# to config.status for appending the configuration named by TAG from the 702 +# matching tagged config vars. 703 +m4_defun([_LT_CONFIG], 704 +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 705 +_LT_CONFIG_SAVE_COMMANDS([ 706 + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 707 + m4_if(_LT_TAG, [C], [ 708 + # See if we are running on zsh, and set the options which allow our 709 + # commands through without removal of \ escapes. 710 + if test -n "${ZSH_VERSION+set}" ; then 711 + setopt NO_GLOB_SUBST 712 + fi 713 + 714 + cfgfile="${ofile}T" 715 + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 716 + $RM "$cfgfile" 717 + 718 + cat <<_LT_EOF >> "$cfgfile" 719 +#! $SHELL 720 + 721 +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. 722 +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION 723 +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 724 +# NOTE: Changes made to this file will be lost: look at ltmain.sh. 725 +# 726 +_LT_COPYING 727 +_LT_LIBTOOL_TAGS 728 + 729 +# ### BEGIN LIBTOOL CONFIG 730 +_LT_LIBTOOL_CONFIG_VARS 731 +_LT_LIBTOOL_TAG_VARS 732 +# ### END LIBTOOL CONFIG 733 + 734 +_LT_EOF 735 + 736 + case $host_os in 737 + aix3*) 738 + cat <<\_LT_EOF >> "$cfgfile" 739 +# AIX sometimes has problems with the GCC collect2 program. For some 740 +# reason, if we set the COLLECT_NAMES environment variable, the problems 741 +# vanish in a puff of smoke. 742 +if test "X${COLLECT_NAMES+set}" != Xset; then 743 + COLLECT_NAMES= 744 + export COLLECT_NAMES 745 +fi 746 +_LT_EOF 747 + ;; 748 + esac 749 + 750 + _LT_PROG_LTMAIN 751 + 752 + # We use sed instead of cat because bash on DJGPP gets confused if 753 + # if finds mixed CR/LF and LF-only lines. Since sed operates in 754 + # text mode, it properly converts lines to CR/LF. This bash problem 755 + # is reportedly fixed, but why not run on old versions too? 756 + sed '$q' "$ltmain" >> "$cfgfile" \ 757 + || (rm -f "$cfgfile"; exit 1) 758 + 759 + _LT_PROG_REPLACE_SHELLFNS 760 + 761 + mv -f "$cfgfile" "$ofile" || 762 + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 763 + chmod +x "$ofile" 764 +], 765 +[cat <<_LT_EOF >> "$ofile" 766 + 767 +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 768 +dnl in a comment (ie after a #). 769 +# ### BEGIN LIBTOOL TAG CONFIG: $1 770 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) 771 +# ### END LIBTOOL TAG CONFIG: $1 772 +_LT_EOF 773 +])dnl /m4_if 774 +], 775 +[m4_if([$1], [], [ 776 + PACKAGE='$PACKAGE' 777 + VERSION='$VERSION' 778 + TIMESTAMP='$TIMESTAMP' 779 + RM='$RM' 780 + ofile='$ofile'], []) 781 +])dnl /_LT_CONFIG_SAVE_COMMANDS 782 +])# _LT_CONFIG 783 + 784 + 785 +# LT_SUPPORTED_TAG(TAG) 786 +# --------------------- 787 +# Trace this macro to discover what tags are supported by the libtool 788 +# --tag option, using: 789 +# autoconf --trace 'LT_SUPPORTED_TAG:$1' 790 +AC_DEFUN([LT_SUPPORTED_TAG], []) 791 + 792 + 793 +# C support is built-in for now 794 +m4_define([_LT_LANG_C_enabled], []) 795 +m4_define([_LT_TAGS], []) 796 + 797 + 798 +# LT_LANG(LANG) 799 +# ------------- 800 +# Enable libtool support for the given language if not already enabled. 801 +AC_DEFUN([LT_LANG], 802 +[AC_BEFORE([$0], [LT_OUTPUT])dnl 803 +m4_case([$1], 804 + [C], [_LT_LANG(C)], 805 + [C++], [_LT_LANG(CXX)], 806 + [Go], [_LT_LANG(GO)], 807 + [Java], [_LT_LANG(GCJ)], 808 + [Fortran 77], [_LT_LANG(F77)], 809 + [Fortran], [_LT_LANG(FC)], 810 + [Windows Resource], [_LT_LANG(RC)], 811 + [m4_ifdef([_LT_LANG_]$1[_CONFIG], 812 + [_LT_LANG($1)], 813 + [m4_fatal([$0: unsupported language: "$1"])])])dnl 814 +])# LT_LANG 815 + 816 + 817 +# _LT_LANG(LANGNAME) 818 +# ------------------ 819 +m4_defun([_LT_LANG], 820 +[m4_ifdef([_LT_LANG_]$1[_enabled], [], 821 + [LT_SUPPORTED_TAG([$1])dnl 822 + m4_append([_LT_TAGS], [$1 ])dnl 823 + m4_define([_LT_LANG_]$1[_enabled], [])dnl 824 + _LT_LANG_$1_CONFIG($1)])dnl 825 +])# _LT_LANG 826 + 827 + 828 +m4_ifndef([AC_PROG_GO], [ 829 +############################################################ 830 +# NOTE: This macro has been submitted for inclusion into # 831 +# GNU Autoconf as AC_PROG_GO. When it is available in # 832 +# a released version of Autoconf we should remove this # 833 +# macro and use it instead. # 834 +############################################################ 835 +m4_defun([AC_PROG_GO], 836 +[AC_LANG_PUSH(Go)dnl 837 +AC_ARG_VAR([GOC], [Go compiler command])dnl 838 +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl 839 +_AC_ARG_VAR_LDFLAGS()dnl 840 +AC_CHECK_TOOL(GOC, gccgo) 841 +if test -z "$GOC"; then 842 + if test -n "$ac_tool_prefix"; then 843 + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) 844 + fi 845 +fi 846 +if test -z "$GOC"; then 847 + AC_CHECK_PROG(GOC, gccgo, gccgo, false) 848 +fi 849 +])#m4_defun 850 +])#m4_ifndef 851 + 852 + 853 +# _LT_LANG_DEFAULT_CONFIG 854 +# ----------------------- 855 +m4_defun([_LT_LANG_DEFAULT_CONFIG], 856 +[AC_PROVIDE_IFELSE([AC_PROG_CXX], 857 + [LT_LANG(CXX)], 858 + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 859 + 860 +AC_PROVIDE_IFELSE([AC_PROG_F77], 861 + [LT_LANG(F77)], 862 + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 863 + 864 +AC_PROVIDE_IFELSE([AC_PROG_FC], 865 + [LT_LANG(FC)], 866 + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 867 + 868 +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 869 +dnl pulling things in needlessly. 870 +AC_PROVIDE_IFELSE([AC_PROG_GCJ], 871 + [LT_LANG(GCJ)], 872 + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 873 + [LT_LANG(GCJ)], 874 + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 875 + [LT_LANG(GCJ)], 876 + [m4_ifdef([AC_PROG_GCJ], 877 + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 878 + m4_ifdef([A][M_PROG_GCJ], 879 + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 880 + m4_ifdef([LT_PROG_GCJ], 881 + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 882 + 883 +AC_PROVIDE_IFELSE([AC_PROG_GO], 884 + [LT_LANG(GO)], 885 + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) 886 + 887 +AC_PROVIDE_IFELSE([LT_PROG_RC], 888 + [LT_LANG(RC)], 889 + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 890 +])# _LT_LANG_DEFAULT_CONFIG 891 + 892 +# Obsolete macros: 893 +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 894 +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 895 +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 896 +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 897 +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) 898 +dnl aclocal-1.4 backwards compatibility: 899 +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) 900 +dnl AC_DEFUN([AC_LIBTOOL_F77], []) 901 +dnl AC_DEFUN([AC_LIBTOOL_FC], []) 902 +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 903 +dnl AC_DEFUN([AC_LIBTOOL_RC], []) 904 + 905 + 906 +# _LT_TAG_COMPILER 907 +# ---------------- 908 +m4_defun([_LT_TAG_COMPILER], 909 +[AC_REQUIRE([AC_PROG_CC])dnl 910 + 911 +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 912 +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 913 +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 914 +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 915 + 916 +# If no C compiler was specified, use CC. 917 +LTCC=${LTCC-"$CC"} 918 + 919 +# If no C compiler flags were specified, use CFLAGS. 920 +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 921 + 922 +# Allow CC to be a program name with arguments. 923 +compiler=$CC 924 +])# _LT_TAG_COMPILER 925 + 926 + 927 +# _LT_COMPILER_BOILERPLATE 928 +# ------------------------ 929 +# Check for compiler boilerplate output or warnings with 930 +# the simple compiler test code. 931 +m4_defun([_LT_COMPILER_BOILERPLATE], 932 +[m4_require([_LT_DECL_SED])dnl 933 +ac_outfile=conftest.$ac_objext 934 +echo "$lt_simple_compile_test_code" >conftest.$ac_ext 935 +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 936 +_lt_compiler_boilerplate=`cat conftest.err` 937 +$RM conftest* 938 +])# _LT_COMPILER_BOILERPLATE 939 + 940 + 941 +# _LT_LINKER_BOILERPLATE 942 +# ---------------------- 943 +# Check for linker boilerplate output or warnings with 944 +# the simple link test code. 945 +m4_defun([_LT_LINKER_BOILERPLATE], 946 +[m4_require([_LT_DECL_SED])dnl 947 +ac_outfile=conftest.$ac_objext 948 +echo "$lt_simple_link_test_code" >conftest.$ac_ext 949 +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 950 +_lt_linker_boilerplate=`cat conftest.err` 951 +$RM -r conftest* 952 +])# _LT_LINKER_BOILERPLATE 953 + 954 +# _LT_REQUIRED_DARWIN_CHECKS 955 +# ------------------------- 956 +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 957 + case $host_os in 958 + rhapsody* | darwin*) 959 + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 960 + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 961 + AC_CHECK_TOOL([LIPO], [lipo], [:]) 962 + AC_CHECK_TOOL([OTOOL], [otool], [:]) 963 + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 964 + _LT_DECL([], [DSYMUTIL], [1], 965 + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 966 + _LT_DECL([], [NMEDIT], [1], 967 + [Tool to change global to local symbols on Mac OS X]) 968 + _LT_DECL([], [LIPO], [1], 969 + [Tool to manipulate fat objects and archives on Mac OS X]) 970 + _LT_DECL([], [OTOOL], [1], 971 + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 972 + _LT_DECL([], [OTOOL64], [1], 973 + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 974 + 975 + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 976 + [lt_cv_apple_cc_single_mod=no 977 + if test -z "${LT_MULTI_MODULE}"; then 978 + # By default we will add the -single_module flag. You can override 979 + # by either setting the environment variable LT_MULTI_MODULE 980 + # non-empty at configure time, or by adding -multi_module to the 981 + # link flags. 982 + rm -rf libconftest.dylib* 983 + echo "int foo(void){return 1;}" > conftest.c 984 + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 985 +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 986 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 987 + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 988 + _lt_result=$? 989 + # If there is a non-empty error log, and "single_module" 990 + # appears in it, assume the flag caused a linker warning 991 + if test -s conftest.err && $GREP single_module conftest.err; then 992 + cat conftest.err >&AS_MESSAGE_LOG_FD 993 + # Otherwise, if the output was created with a 0 exit code from 994 + # the compiler, it worked. 995 + elif test -f libconftest.dylib && test $_lt_result -eq 0; then 996 + lt_cv_apple_cc_single_mod=yes 997 + else 998 + cat conftest.err >&AS_MESSAGE_LOG_FD 999 + fi 1000 + rm -rf libconftest.dylib* 1001 + rm -f conftest.* 1002 + fi]) 1003 + 1004 + AC_CACHE_CHECK([for -exported_symbols_list linker flag], 1005 + [lt_cv_ld_exported_symbols_list], 1006 + [lt_cv_ld_exported_symbols_list=no 1007 + save_LDFLAGS=$LDFLAGS 1008 + echo "_main" > conftest.sym 1009 + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 1010 + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 1011 + [lt_cv_ld_exported_symbols_list=yes], 1012 + [lt_cv_ld_exported_symbols_list=no]) 1013 + LDFLAGS="$save_LDFLAGS" 1014 + ]) 1015 + 1016 + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], 1017 + [lt_cv_ld_force_load=no 1018 + cat > conftest.c << _LT_EOF 1019 +int forced_loaded() { return 2;} 1020 +_LT_EOF 1021 + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD 1022 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD 1023 + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD 1024 + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD 1025 + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD 1026 + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD 1027 + cat > conftest.c << _LT_EOF 1028 +int main() { return 0;} 1029 +_LT_EOF 1030 + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD 1031 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 1032 + _lt_result=$? 1033 + if test -s conftest.err && $GREP force_load conftest.err; then 1034 + cat conftest.err >&AS_MESSAGE_LOG_FD 1035 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then 1036 + lt_cv_ld_force_load=yes 1037 + else 1038 + cat conftest.err >&AS_MESSAGE_LOG_FD 1039 + fi 1040 + rm -f conftest.err libconftest.a conftest conftest.c 1041 + rm -rf conftest.dSYM 1042 + ]) 1043 + case $host_os in 1044 + rhapsody* | darwin1.[[012]]) 1045 + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; 1046 + darwin1.*) 1047 + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 1048 + darwin*) # darwin 5.x on 1049 + # if running on 10.5 or later, the deployment target defaults 1050 + # to the OS version, if on x86, and 10.4, the deployment 1051 + # target defaults to 10.4. Don't you love it? 1052 + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 1053 + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) 1054 + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 1055 + 10.[[012]]*) 1056 + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 1057 + 10.*) 1058 + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 1059 + esac 1060 + ;; 1061 + esac 1062 + if test "$lt_cv_apple_cc_single_mod" = "yes"; then 1063 + _lt_dar_single_mod='$single_module' 1064 + fi 1065 + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then 1066 + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' 1067 + else 1068 + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' 1069 + fi 1070 + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then 1071 + _lt_dsymutil='~$DSYMUTIL $lib || :' 1072 + else 1073 + _lt_dsymutil= 1074 + fi 1075 + ;; 1076 + esac 1077 +]) 1078 + 1079 + 1080 +# _LT_DARWIN_LINKER_FEATURES([TAG]) 1081 +# --------------------------------- 1082 +# Checks for linker and compiler features on darwin 1083 +m4_defun([_LT_DARWIN_LINKER_FEATURES], 1084 +[ 1085 + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 1086 + _LT_TAGVAR(archive_cmds_need_lc, $1)=no 1087 + _LT_TAGVAR(hardcode_direct, $1)=no 1088 + _LT_TAGVAR(hardcode_automatic, $1)=yes 1089 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 1090 + if test "$lt_cv_ld_force_load" = "yes"; then 1091 + _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\"`' 1092 + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], 1093 + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) 1094 + else 1095 + _LT_TAGVAR(whole_archive_flag_spec, $1)='' 1096 + fi 1097 + _LT_TAGVAR(link_all_deplibs, $1)=yes 1098 + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" 1099 + case $cc_basename in 1100 + ifort*) _lt_dar_can_shared=yes ;; 1101 + *) _lt_dar_can_shared=$GCC ;; 1102 + esac 1103 + if test "$_lt_dar_can_shared" = "yes"; then 1104 + output_verbose_link_cmd=func_echo_all 1105 + _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}" 1106 + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" 1107 + _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}" 1108 + _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}" 1109 + m4_if([$1], [CXX], 1110 +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then 1111 + _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}" 1112 + _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}" 1113 + fi 1114 +],[]) 1115 + else 1116 + _LT_TAGVAR(ld_shlibs, $1)=no 1117 + fi 1118 +]) 1119 + 1120 +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) 1121 +# ---------------------------------- 1122 +# Links a minimal program and checks the executable 1123 +# for the system default hardcoded library path. In most cases, 1124 +# this is /usr/lib:/lib, but when the MPI compilers are used 1125 +# the location of the communication and MPI libs are included too. 1126 +# If we don't find anything, use the default library path according 1127 +# to the aix ld manual. 1128 +# Store the results from the different compilers for each TAGNAME. 1129 +# Allow to override them for all tags through lt_cv_aix_libpath. 1130 +m4_defun([_LT_SYS_MODULE_PATH_AIX], 1131 +[m4_require([_LT_DECL_SED])dnl 1132 +if test "${lt_cv_aix_libpath+set}" = set; then 1133 + aix_libpath=$lt_cv_aix_libpath 1134 +else 1135 + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], 1136 + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ 1137 + lt_aix_libpath_sed='[ 1138 + /Import File Strings/,/^$/ { 1139 + /^0/ { 1140 + s/^0 *\([^ ]*\) *$/\1/ 1141 + p 1142 + } 1143 + }]' 1144 + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1145 + # Check for a 64-bit object if we didn't find anything. 1146 + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 1147 + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1148 + fi],[]) 1149 + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 1150 + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" 1151 + fi 1152 + ]) 1153 + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) 1154 +fi 1155 +])# _LT_SYS_MODULE_PATH_AIX 1156 + 1157 + 1158 +# _LT_SHELL_INIT(ARG) 1159 +# ------------------- 1160 +m4_define([_LT_SHELL_INIT], 1161 +[m4_divert_text([M4SH-INIT], [$1 1162 +])])# _LT_SHELL_INIT 1163 + 1164 + 1165 + 1166 +# _LT_PROG_ECHO_BACKSLASH 1167 +# ----------------------- 1168 +# Find how we can fake an echo command that does not interpret backslash. 1169 +# In particular, with Autoconf 2.60 or later we add some code to the start 1170 +# of the generated configure script which will find a shell with a builtin 1171 +# printf (which we can use as an echo command). 1172 +m4_defun([_LT_PROG_ECHO_BACKSLASH], 1173 +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 1174 +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 1175 +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 1176 + 1177 +AC_MSG_CHECKING([how to print strings]) 1178 +# Test print first, because it will be a builtin if present. 1179 +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ 1180 + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 1181 + ECHO='print -r --' 1182 +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 1183 + ECHO='printf %s\n' 1184 +else 1185 + # Use this function as a fallback that always works. 1186 + func_fallback_echo () 1187 + { 1188 + eval 'cat <<_LTECHO_EOF 1189 +$[]1 1190 +_LTECHO_EOF' 1191 + } 1192 + ECHO='func_fallback_echo' 1193 +fi 1194 + 1195 +# func_echo_all arg... 1196 +# Invoke $ECHO with all args, space-separated. 1197 +func_echo_all () 1198 +{ 1199 + $ECHO "$*" 1200 +} 1201 + 1202 +case "$ECHO" in 1203 + printf*) AC_MSG_RESULT([printf]) ;; 1204 + print*) AC_MSG_RESULT([print -r]) ;; 1205 + *) AC_MSG_RESULT([cat]) ;; 1206 +esac 1207 + 1208 +m4_ifdef([_AS_DETECT_SUGGESTED], 1209 +[_AS_DETECT_SUGGESTED([ 1210 + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( 1211 + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 1212 + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 1213 + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 1214 + PATH=/empty FPATH=/empty; export PATH FPATH 1215 + test "X`printf %s $ECHO`" = "X$ECHO" \ 1216 + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) 1217 + 1218 +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 1219 +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) 1220 +])# _LT_PROG_ECHO_BACKSLASH 1221 + 1222 + 1223 +# _LT_WITH_SYSROOT 1224 +# ---------------- 1225 +AC_DEFUN([_LT_WITH_SYSROOT], 1226 +[AC_MSG_CHECKING([for sysroot]) 1227 +AC_ARG_WITH([sysroot], 1228 +[ --with-sysroot[=DIR] Search for dependent libraries within DIR 1229 + (or the compiler's sysroot if not specified).], 1230 +[], [with_sysroot=no]) 1231 + 1232 +dnl lt_sysroot will always be passed unquoted. We quote it here 1233 +dnl in case the user passed a directory name. 1234 +lt_sysroot= 1235 +case ${with_sysroot} in #( 1236 + yes) 1237 + if test "$GCC" = yes; then 1238 + lt_sysroot=`$CC --print-sysroot 2>/dev/null` 1239 + fi 1240 + ;; #( 1241 + /*) 1242 + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` 1243 + ;; #( 1244 + no|'') 1245 + ;; #( 1246 + *) 1247 + AC_MSG_RESULT([${with_sysroot}]) 1248 + AC_MSG_ERROR([The sysroot must be an absolute path.]) 1249 + ;; 1250 +esac 1251 + 1252 + AC_MSG_RESULT([${lt_sysroot:-no}]) 1253 +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl 1254 +[dependent libraries, and in which our libraries should be installed.])]) 1255 + 1256 +# _LT_ENABLE_LOCK 1257 +# --------------- 1258 +m4_defun([_LT_ENABLE_LOCK], 1259 +[AC_ARG_ENABLE([libtool-lock], 1260 + [AS_HELP_STRING([--disable-libtool-lock], 1261 + [avoid locking (might break parallel builds)])]) 1262 +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 1263 + 1264 +# Some flags need to be propagated to the compiler or linker for good 1265 +# libtool support. 1266 +case $host in 1267 +ia64-*-hpux*) 1268 + # Find out which ABI we are using. 1269 + echo 'int i;' > conftest.$ac_ext 1270 + if AC_TRY_EVAL(ac_compile); then 1271 + case `/usr/bin/file conftest.$ac_objext` in 1272 + *ELF-32*) 1273 + HPUX_IA64_MODE="32" 1274 + ;; 1275 + *ELF-64*) 1276 + HPUX_IA64_MODE="64" 1277 + ;; 1278 + esac 1279 + fi 1280 + rm -rf conftest* 1281 + ;; 1282 +*-*-irix6*) 1283 + # Find out which ABI we are using. 1284 + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 1285 + if AC_TRY_EVAL(ac_compile); then 1286 + if test "$lt_cv_prog_gnu_ld" = yes; then 1287 + case `/usr/bin/file conftest.$ac_objext` in 1288 + *32-bit*) 1289 + LD="${LD-ld} -melf32bsmip" 1290 + ;; 1291 + *N32*) 1292 + LD="${LD-ld} -melf32bmipn32" 1293 + ;; 1294 + *64-bit*) 1295 + LD="${LD-ld} -melf64bmip" 1296 + ;; 1297 + esac 1298 + else 1299 + case `/usr/bin/file conftest.$ac_objext` in 1300 + *32-bit*) 1301 + LD="${LD-ld} -32" 1302 + ;; 1303 + *N32*) 1304 + LD="${LD-ld} -n32" 1305 + ;; 1306 + *64-bit*) 1307 + LD="${LD-ld} -64" 1308 + ;; 1309 + esac 1310 + fi 1311 + fi 1312 + rm -rf conftest* 1313 + ;; 1314 + 1315 +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ 1316 +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) 1317 + # Find out which ABI we are using. 1318 + echo 'int i;' > conftest.$ac_ext 1319 + if AC_TRY_EVAL(ac_compile); then 1320 + case `/usr/bin/file conftest.o` in 1321 + *32-bit*) 1322 + case $host in 1323 + x86_64-*kfreebsd*-gnu) 1324 + LD="${LD-ld} -m elf_i386_fbsd" 1325 + ;; 1326 + x86_64-*linux*) 1327 + LD="${LD-ld} -m elf_i386" 1328 + ;; 1329 + ppc64-*linux*|powerpc64-*linux*) 1330 + LD="${LD-ld} -m elf32ppclinux" 1331 + ;; 1332 + s390x-*linux*) 1333 + LD="${LD-ld} -m elf_s390" 1334 + ;; 1335 + sparc64-*linux*) 1336 + LD="${LD-ld} -m elf32_sparc" 1337 + ;; 1338 + esac 1339 + ;; 1340 + *64-bit*) 1341 + case $host in 1342 + x86_64-*kfreebsd*-gnu) 1343 + LD="${LD-ld} -m elf_x86_64_fbsd" 1344 + ;; 1345 + x86_64-*linux*) 1346 + LD="${LD-ld} -m elf_x86_64" 1347 + ;; 1348 + ppc*-*linux*|powerpc*-*linux*) 1349 + LD="${LD-ld} -m elf64ppc" 1350 + ;; 1351 + s390*-*linux*|s390*-*tpf*) 1352 + LD="${LD-ld} -m elf64_s390" 1353 + ;; 1354 + sparc*-*linux*) 1355 + LD="${LD-ld} -m elf64_sparc" 1356 + ;; 1357 + esac 1358 + ;; 1359 + esac 1360 + fi 1361 + rm -rf conftest* 1362 + ;; 1363 + 1364 +*-*-sco3.2v5*) 1365 + # On SCO OpenServer 5, we need -belf to get full-featured binaries. 1366 + SAVE_CFLAGS="$CFLAGS" 1367 + CFLAGS="$CFLAGS -belf" 1368 + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 1369 + [AC_LANG_PUSH(C) 1370 + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 1371 + AC_LANG_POP]) 1372 + if test x"$lt_cv_cc_needs_belf" != x"yes"; then 1373 + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 1374 + CFLAGS="$SAVE_CFLAGS" 1375 + fi 1376 + ;; 1377 +*-*solaris*) 1378 + # Find out which ABI we are using. 1379 + echo 'int i;' > conftest.$ac_ext 1380 + if AC_TRY_EVAL(ac_compile); then 1381 + case `/usr/bin/file conftest.o` in 1382 + *64-bit*) 1383 + case $lt_cv_prog_gnu_ld in 1384 + yes*) 1385 + case $host in 1386 + i?86-*-solaris*) 1387 + LD="${LD-ld} -m elf_x86_64" 1388 + ;; 1389 + sparc*-*-solaris*) 1390 + LD="${LD-ld} -m elf64_sparc" 1391 + ;; 1392 + esac 1393 + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. 1394 + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then 1395 + LD="${LD-ld}_sol2" 1396 + fi 1397 + ;; 1398 + *) 1399 + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 1400 + LD="${LD-ld} -64" 1401 + fi 1402 + ;; 1403 + esac 1404 + ;; 1405 + esac 1406 + fi 1407 + rm -rf conftest* 1408 + ;; 1409 +esac 1410 + 1411 +need_locks="$enable_libtool_lock" 1412 +])# _LT_ENABLE_LOCK 1413 + 1414 + 1415 +# _LT_PROG_AR 1416 +# ----------- 1417 +m4_defun([_LT_PROG_AR], 1418 +[AC_CHECK_TOOLS(AR, [ar], false) 1419 +: ${AR=ar} 1420 +: ${AR_FLAGS=cru} 1421 +_LT_DECL([], [AR], [1], [The archiver]) 1422 +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) 1423 + 1424 +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], 1425 + [lt_cv_ar_at_file=no 1426 + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], 1427 + [echo conftest.$ac_objext > conftest.lst 1428 + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' 1429 + AC_TRY_EVAL([lt_ar_try]) 1430 + if test "$ac_status" -eq 0; then 1431 + # Ensure the archiver fails upon bogus file names. 1432 + rm -f conftest.$ac_objext libconftest.a 1433 + AC_TRY_EVAL([lt_ar_try]) 1434 + if test "$ac_status" -ne 0; then 1435 + lt_cv_ar_at_file=@ 1436 + fi 1437 + fi 1438 + rm -f conftest.* libconftest.a 1439 + ]) 1440 + ]) 1441 + 1442 +if test "x$lt_cv_ar_at_file" = xno; then 1443 + archiver_list_spec= 1444 +else 1445 + archiver_list_spec=$lt_cv_ar_at_file 1446 +fi 1447 +_LT_DECL([], [archiver_list_spec], [1], 1448 + [How to feed a file listing to the archiver]) 1449 +])# _LT_PROG_AR 1450 + 1451 + 1452 +# _LT_CMD_OLD_ARCHIVE 1453 +# ------------------- 1454 +m4_defun([_LT_CMD_OLD_ARCHIVE], 1455 +[_LT_PROG_AR 1456 + 1457 +AC_CHECK_TOOL(STRIP, strip, :) 1458 +test -z "$STRIP" && STRIP=: 1459 +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 1460 + 1461 +AC_CHECK_TOOL(RANLIB, ranlib, :) 1462 +test -z "$RANLIB" && RANLIB=: 1463 +_LT_DECL([], [RANLIB], [1], 1464 + [Commands used to install an old-style archive]) 1465 + 1466 +# Determine commands to create old-style static archives. 1467 +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 1468 +old_postinstall_cmds='chmod 644 $oldlib' 1469 +old_postuninstall_cmds= 1470 + 1471 +if test -n "$RANLIB"; then 1472 + case $host_os in 1473 + openbsd*) 1474 + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" 1475 + ;; 1476 + *) 1477 + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" 1478 + ;; 1479 + esac 1480 + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" 1481 +fi 1482 + 1483 +case $host_os in 1484 + darwin*) 1485 + lock_old_archive_extraction=yes ;; 1486 + *) 1487 + lock_old_archive_extraction=no ;; 1488 +esac 1489 +_LT_DECL([], [old_postinstall_cmds], [2]) 1490 +_LT_DECL([], [old_postuninstall_cmds], [2]) 1491 +_LT_TAGDECL([], [old_archive_cmds], [2], 1492 + [Commands used to build an old-style archive]) 1493 +_LT_DECL([], [lock_old_archive_extraction], [0], 1494 + [Whether to use a lock for old archive extraction]) 1495 +])# _LT_CMD_OLD_ARCHIVE 1496 + 1497 + 1498 +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1499 +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 1500 +# ---------------------------------------------------------------- 1501 +# Check whether the given compiler option works 1502 +AC_DEFUN([_LT_COMPILER_OPTION], 1503 +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1504 +m4_require([_LT_DECL_SED])dnl 1505 +AC_CACHE_CHECK([$1], [$2], 1506 + [$2=no 1507 + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 1508 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1509 + lt_compiler_flag="$3" 1510 + # Insert the option either (1) after the last *FLAGS variable, or 1511 + # (2) before a word containing "conftest.", or (3) at the end. 1512 + # Note that $ac_compile itself does not contain backslashes and begins 1513 + # with a dollar sign (not a hyphen), so the echo should work correctly. 1514 + # The option is referenced via a variable to avoid confusing sed. 1515 + lt_compile=`echo "$ac_compile" | $SED \ 1516 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1517 + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1518 + -e 's:$: $lt_compiler_flag:'` 1519 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1520 + (eval "$lt_compile" 2>conftest.err) 1521 + ac_status=$? 1522 + cat conftest.err >&AS_MESSAGE_LOG_FD 1523 + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1524 + if (exit $ac_status) && test -s "$ac_outfile"; then 1525 + # The compiler can only warn and ignore the option if not recognized 1526 + # So say no if there are warnings other than the usual output. 1527 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 1528 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1529 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 1530 + $2=yes 1531 + fi 1532 + fi 1533 + $RM conftest* 1534 +]) 1535 + 1536 +if test x"[$]$2" = xyes; then 1537 + m4_if([$5], , :, [$5]) 1538 +else 1539 + m4_if([$6], , :, [$6]) 1540 +fi 1541 +])# _LT_COMPILER_OPTION 1542 + 1543 +# Old name: 1544 +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 1545 +dnl aclocal-1.4 backwards compatibility: 1546 +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 1547 + 1548 + 1549 +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1550 +# [ACTION-SUCCESS], [ACTION-FAILURE]) 1551 +# ---------------------------------------------------- 1552 +# Check whether the given linker option works 1553 +AC_DEFUN([_LT_LINKER_OPTION], 1554 +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1555 +m4_require([_LT_DECL_SED])dnl 1556 +AC_CACHE_CHECK([$1], [$2], 1557 + [$2=no 1558 + save_LDFLAGS="$LDFLAGS" 1559 + LDFLAGS="$LDFLAGS $3" 1560 + echo "$lt_simple_link_test_code" > conftest.$ac_ext 1561 + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 1562 + # The linker can only warn and ignore the option if not recognized 1563 + # So say no if there are warnings 1564 + if test -s conftest.err; then 1565 + # Append any errors to the config.log. 1566 + cat conftest.err 1>&AS_MESSAGE_LOG_FD 1567 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 1568 + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1569 + if diff conftest.exp conftest.er2 >/dev/null; then 1570 + $2=yes 1571 + fi 1572 + else 1573 + $2=yes 1574 + fi 1575 + fi 1576 + $RM -r conftest* 1577 + LDFLAGS="$save_LDFLAGS" 1578 +]) 1579 + 1580 +if test x"[$]$2" = xyes; then 1581 + m4_if([$4], , :, [$4]) 1582 +else 1583 + m4_if([$5], , :, [$5]) 1584 +fi 1585 +])# _LT_LINKER_OPTION 1586 + 1587 +# Old name: 1588 +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 1589 +dnl aclocal-1.4 backwards compatibility: 1590 +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 1591 + 1592 + 1593 +# LT_CMD_MAX_LEN 1594 +#--------------- 1595 +AC_DEFUN([LT_CMD_MAX_LEN], 1596 +[AC_REQUIRE([AC_CANONICAL_HOST])dnl 1597 +# find the maximum length of command line arguments 1598 +AC_MSG_CHECKING([the maximum length of command line arguments]) 1599 +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 1600 + i=0 1601 + teststring="ABCD" 1602 + 1603 + case $build_os in 1604 + msdosdjgpp*) 1605 + # On DJGPP, this test can blow up pretty badly due to problems in libc 1606 + # (any single argument exceeding 2000 bytes causes a buffer overrun 1607 + # during glob expansion). Even if it were fixed, the result of this 1608 + # check would be larger than it should be. 1609 + lt_cv_sys_max_cmd_len=12288; # 12K is about right 1610 + ;; 1611 + 1612 + gnu*) 1613 + # Under GNU Hurd, this test is not required because there is 1614 + # no limit to the length of command line arguments. 1615 + # Libtool will interpret -1 as no limit whatsoever 1616 + lt_cv_sys_max_cmd_len=-1; 1617 + ;; 1618 + 1619 + cygwin* | mingw* | cegcc*) 1620 + # On Win9x/ME, this test blows up -- it succeeds, but takes 1621 + # about 5 minutes as the teststring grows exponentially. 1622 + # Worse, since 9x/ME are not pre-emptively multitasking, 1623 + # you end up with a "frozen" computer, even though with patience 1624 + # the test eventually succeeds (with a max line length of 256k). 1625 + # Instead, let's just punt: use the minimum linelength reported by 1626 + # all of the supported platforms: 8192 (on NT/2K/XP). 1627 + lt_cv_sys_max_cmd_len=8192; 1628 + ;; 1629 + 1630 + mint*) 1631 + # On MiNT this can take a long time and run out of memory. 1632 + lt_cv_sys_max_cmd_len=8192; 1633 + ;; 1634 + 1635 + amigaos*) 1636 + # On AmigaOS with pdksh, this test takes hours, literally. 1637 + # So we just punt and use a minimum line length of 8192. 1638 + lt_cv_sys_max_cmd_len=8192; 1639 + ;; 1640 + 1641 + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) 1642 + # This has been around since 386BSD, at least. Likely further. 1643 + if test -x /sbin/sysctl; then 1644 + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 1645 + elif test -x /usr/sbin/sysctl; then 1646 + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 1647 + else 1648 + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 1649 + fi 1650 + # And add a safety zone 1651 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1652 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1653 + ;; 1654 + 1655 + interix*) 1656 + # We know the value 262144 and hardcode it with a safety zone (like BSD) 1657 + lt_cv_sys_max_cmd_len=196608 1658 + ;; 1659 + 1660 + os2*) 1661 + # The test takes a long time on OS/2. 1662 + lt_cv_sys_max_cmd_len=8192 1663 + ;; 1664 + 1665 + osf*) 1666 + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 1667 + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 1668 + # nice to cause kernel panics so lets avoid the loop below. 1669 + # First set a reasonable default. 1670 + lt_cv_sys_max_cmd_len=16384 1671 + # 1672 + if test -x /sbin/sysconfig; then 1673 + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 1674 + *1*) lt_cv_sys_max_cmd_len=-1 ;; 1675 + esac 1676 + fi 1677 + ;; 1678 + sco3.2v5*) 1679 + lt_cv_sys_max_cmd_len=102400 1680 + ;; 1681 + sysv5* | sco5v6* | sysv4.2uw2*) 1682 + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 1683 + if test -n "$kargmax"; then 1684 + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` 1685 + else 1686 + lt_cv_sys_max_cmd_len=32768 1687 + fi 1688 + ;; 1689 + *) 1690 + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 1691 + if test -n "$lt_cv_sys_max_cmd_len"; then 1692 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1693 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1694 + else 1695 + # Make teststring a little bigger before we do anything with it. 1696 + # a 1K string should be a reasonable start. 1697 + for i in 1 2 3 4 5 6 7 8 ; do 1698 + teststring=$teststring$teststring 1699 + done 1700 + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 1701 + # If test is not a shell built-in, we'll probably end up computing a 1702 + # maximum length that is only half of the actual maximum length, but 1703 + # we can't tell. 1704 + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ 1705 + = "X$teststring$teststring"; } >/dev/null 2>&1 && 1706 + test $i != 17 # 1/2 MB should be enough 1707 + do 1708 + i=`expr $i + 1` 1709 + teststring=$teststring$teststring 1710 + done 1711 + # Only check the string length outside the loop. 1712 + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 1713 + teststring= 1714 + # Add a significant safety factor because C++ compilers can tack on 1715 + # massive amounts of additional arguments before passing them to the 1716 + # linker. It appears as though 1/2 is a usable value. 1717 + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 1718 + fi 1719 + ;; 1720 + esac 1721 +]) 1722 +if test -n $lt_cv_sys_max_cmd_len ; then 1723 + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 1724 +else 1725 + AC_MSG_RESULT(none) 1726 +fi 1727 +max_cmd_len=$lt_cv_sys_max_cmd_len 1728 +_LT_DECL([], [max_cmd_len], [0], 1729 + [What is the maximum length of a command?]) 1730 +])# LT_CMD_MAX_LEN 1731 + 1732 +# Old name: 1733 +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 1734 +dnl aclocal-1.4 backwards compatibility: 1735 +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 1736 + 1737 + 1738 +# _LT_HEADER_DLFCN 1739 +# ---------------- 1740 +m4_defun([_LT_HEADER_DLFCN], 1741 +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 1742 +])# _LT_HEADER_DLFCN 1743 + 1744 + 1745 +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 1746 +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 1747 +# ---------------------------------------------------------------- 1748 +m4_defun([_LT_TRY_DLOPEN_SELF], 1749 +[m4_require([_LT_HEADER_DLFCN])dnl 1750 +if test "$cross_compiling" = yes; then : 1751 + [$4] 1752 +else 1753 + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 1754 + lt_status=$lt_dlunknown 1755 + cat > conftest.$ac_ext <<_LT_EOF 1756 +[#line $LINENO "configure" 1757 +#include "confdefs.h" 1758 + 1759 +#if HAVE_DLFCN_H 1760 +#include <dlfcn.h> 1761 +#endif 1762 + 1763 +#include <stdio.h> 1764 + 1765 +#ifdef RTLD_GLOBAL 1766 +# define LT_DLGLOBAL RTLD_GLOBAL 1767 +#else 1768 +# ifdef DL_GLOBAL 1769 +# define LT_DLGLOBAL DL_GLOBAL 1770 +# else 1771 +# define LT_DLGLOBAL 0 1772 +# endif 1773 +#endif 1774 + 1775 +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 1776 + find out it does not work in some platform. */ 1777 +#ifndef LT_DLLAZY_OR_NOW 1778 +# ifdef RTLD_LAZY 1779 +# define LT_DLLAZY_OR_NOW RTLD_LAZY 1780 +# else 1781 +# ifdef DL_LAZY 1782 +# define LT_DLLAZY_OR_NOW DL_LAZY 1783 +# else 1784 +# ifdef RTLD_NOW 1785 +# define LT_DLLAZY_OR_NOW RTLD_NOW 1786 +# else 1787 +# ifdef DL_NOW 1788 +# define LT_DLLAZY_OR_NOW DL_NOW 1789 +# else 1790 +# define LT_DLLAZY_OR_NOW 0 1791 +# endif 1792 +# endif 1793 +# endif 1794 +# endif 1795 +#endif 1796 + 1797 +/* When -fvisbility=hidden is used, assume the code has been annotated 1798 + correspondingly for the symbols needed. */ 1799 +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 1800 +int fnord () __attribute__((visibility("default"))); 1801 +#endif 1802 + 1803 +int fnord () { return 42; } 1804 +int main () 1805 +{ 1806 + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 1807 + int status = $lt_dlunknown; 1808 + 1809 + if (self) 1810 + { 1811 + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 1812 + else 1813 + { 1814 + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 1815 + else puts (dlerror ()); 1816 + } 1817 + /* dlclose (self); */ 1818 + } 1819 + else 1820 + puts (dlerror ()); 1821 + 1822 + return status; 1823 +}] 1824 +_LT_EOF 1825 + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then 1826 + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 1827 + lt_status=$? 1828 + case x$lt_status in 1829 + x$lt_dlno_uscore) $1 ;; 1830 + x$lt_dlneed_uscore) $2 ;; 1831 + x$lt_dlunknown|x*) $3 ;; 1832 + esac 1833 + else : 1834 + # compilation failed 1835 + $3 1836 + fi 1837 +fi 1838 +rm -fr conftest* 1839 +])# _LT_TRY_DLOPEN_SELF 1840 + 1841 + 1842 +# LT_SYS_DLOPEN_SELF 1843 +# ------------------ 1844 +AC_DEFUN([LT_SYS_DLOPEN_SELF], 1845 +[m4_require([_LT_HEADER_DLFCN])dnl 1846 +if test "x$enable_dlopen" != xyes; then 1847 + enable_dlopen=unknown 1848 + enable_dlopen_self=unknown 1849 + enable_dlopen_self_static=unknown 1850 +else 1851 + lt_cv_dlopen=no 1852 + lt_cv_dlopen_libs= 1853 + 1854 + case $host_os in 1855 + beos*) 1856 + lt_cv_dlopen="load_add_on" 1857 + lt_cv_dlopen_libs= 1858 + lt_cv_dlopen_self=yes 1859 + ;; 1860 + 1861 + mingw* | pw32* | cegcc*) 1862 + lt_cv_dlopen="LoadLibrary" 1863 + lt_cv_dlopen_libs= 1864 + ;; 1865 + 1866 + cygwin*) 1867 + lt_cv_dlopen="dlopen" 1868 + lt_cv_dlopen_libs= 1869 + ;; 1870 + 1871 + darwin*) 1872 + # if libdl is installed we need to link against it 1873 + AC_CHECK_LIB([dl], [dlopen], 1874 + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ 1875 + lt_cv_dlopen="dyld" 1876 + lt_cv_dlopen_libs= 1877 + lt_cv_dlopen_self=yes 1878 + ]) 1879 + ;; 1880 + 1881 + *) 1882 + AC_CHECK_FUNC([shl_load], 1883 + [lt_cv_dlopen="shl_load"], 1884 + [AC_CHECK_LIB([dld], [shl_load], 1885 + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], 1886 + [AC_CHECK_FUNC([dlopen], 1887 + [lt_cv_dlopen="dlopen"], 1888 + [AC_CHECK_LIB([dl], [dlopen], 1889 + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], 1890 + [AC_CHECK_LIB([svld], [dlopen], 1891 + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], 1892 + [AC_CHECK_LIB([dld], [dld_link], 1893 + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) 1894 + ]) 1895 + ]) 1896 + ]) 1897 + ]) 1898 + ]) 1899 + ;; 1900 + esac 1901 + 1902 + if test "x$lt_cv_dlopen" != xno; then 1903 + enable_dlopen=yes 1904 + else 1905 + enable_dlopen=no 1906 + fi 1907 + 1908 + case $lt_cv_dlopen in 1909 + dlopen) 1910 + save_CPPFLAGS="$CPPFLAGS" 1911 + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 1912 + 1913 + save_LDFLAGS="$LDFLAGS" 1914 + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 1915 + 1916 + save_LIBS="$LIBS" 1917 + LIBS="$lt_cv_dlopen_libs $LIBS" 1918 + 1919 + AC_CACHE_CHECK([whether a program can dlopen itself], 1920 + lt_cv_dlopen_self, [dnl 1921 + _LT_TRY_DLOPEN_SELF( 1922 + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 1923 + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 1924 + ]) 1925 + 1926 + if test "x$lt_cv_dlopen_self" = xyes; then 1927 + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 1928 + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 1929 + lt_cv_dlopen_self_static, [dnl 1930 + _LT_TRY_DLOPEN_SELF( 1931 + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 1932 + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 1933 + ]) 1934 + fi 1935 + 1936 + CPPFLAGS="$save_CPPFLAGS" 1937 + LDFLAGS="$save_LDFLAGS" 1938 + LIBS="$save_LIBS" 1939 + ;; 1940 + esac 1941 + 1942 + case $lt_cv_dlopen_self in 1943 + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 1944 + *) enable_dlopen_self=unknown ;; 1945 + esac 1946 + 1947 + case $lt_cv_dlopen_self_static in 1948 + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 1949 + *) enable_dlopen_self_static=unknown ;; 1950 + esac 1951 +fi 1952 +_LT_DECL([dlopen_support], [enable_dlopen], [0], 1953 + [Whether dlopen is supported]) 1954 +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 1955 + [Whether dlopen of programs is supported]) 1956 +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 1957 + [Whether dlopen of statically linked programs is supported]) 1958 +])# LT_SYS_DLOPEN_SELF 1959 + 1960 +# Old name: 1961 +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 1962 +dnl aclocal-1.4 backwards compatibility: 1963 +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 1964 + 1965 + 1966 +# _LT_COMPILER_C_O([TAGNAME]) 1967 +# --------------------------- 1968 +# Check to see if options -c and -o are simultaneously supported by compiler. 1969 +# This macro does not hard code the compiler like AC_PROG_CC_C_O. 1970 +m4_defun([_LT_COMPILER_C_O], 1971 +[m4_require([_LT_DECL_SED])dnl 1972 +m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1973 +m4_require([_LT_TAG_COMPILER])dnl 1974 +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 1975 + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 1976 + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 1977 + $RM -r conftest 2>/dev/null 1978 + mkdir conftest 1979 + cd conftest 1980 + mkdir out 1981 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1982 + 1983 + lt_compiler_flag="-o out/conftest2.$ac_objext" 1984 + # Insert the option either (1) after the last *FLAGS variable, or 1985 + # (2) before a word containing "conftest.", or (3) at the end. 1986 + # Note that $ac_compile itself does not contain backslashes and begins 1987 + # with a dollar sign (not a hyphen), so the echo should work correctly. 1988 + lt_compile=`echo "$ac_compile" | $SED \ 1989 + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1990 + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1991 + -e 's:$: $lt_compiler_flag:'` 1992 + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1993 + (eval "$lt_compile" 2>out/conftest.err) 1994 + ac_status=$? 1995 + cat out/conftest.err >&AS_MESSAGE_LOG_FD 1996 + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1997 + if (exit $ac_status) && test -s out/conftest2.$ac_objext 1998 + then 1999 + # The compiler can only warn and ignore the option if not recognized 2000 + # So say no if there are warnings 2001 + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 2002 + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 2003 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 2004 + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 2005 + fi 2006 + fi 2007 + chmod u+w . 2>&AS_MESSAGE_LOG_FD 2008 + $RM conftest* 2009 + # SGI C++ compiler will create directory out/ii_files/ for 2010 + # template instantiation 2011 + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 2012 + $RM out/* && rmdir out 2013 + cd .. 2014 + $RM -r conftest 2015 + $RM conftest* 2016 +]) 2017 +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 2018 + [Does compiler simultaneously support -c and -o options?]) 2019 +])# _LT_COMPILER_C_O 2020 + 2021 + 2022 +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 2023 +# ---------------------------------- 2024 +# Check to see if we can do hard links to lock some files if needed 2025 +m4_defun([_LT_COMPILER_FILE_LOCKS], 2026 +[m4_require([_LT_ENABLE_LOCK])dnl 2027 +m4_require([_LT_FILEUTILS_DEFAULTS])dnl 2028 +_LT_COMPILER_C_O([$1]) 2029 + 2030 +hard_links="nottested" 2031 +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then 2032 + # do not overwrite the value of need_locks provided by the user 2033 + AC_MSG_CHECKING([if we can lock with hard links]) 2034 + hard_links=yes 2035 + $RM conftest* 2036 + ln conftest.a conftest.b 2>/dev/null && hard_links=no 2037 + touch conftest.a 2038 + ln conftest.a conftest.b 2>&5 || hard_links=no 2039 + ln conftest.a conftest.b 2>/dev/null && hard_links=no 2040 + AC_MSG_RESULT([$hard_links]) 2041 + if test "$hard_links" = no; then 2042 + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) 2043 + need_locks=warn 2044 + fi 2045 +else 2046 + need_locks=no 2047 +fi 2048 +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 2049 +])# _LT_COMPILER_FILE_LOCKS 2050 + 2051 + 2052 +# _LT_CHECK_OBJDIR 2053 +# ---------------- 2054 +m4_defun([_LT_CHECK_OBJDIR], 2055 +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 2056 +[rm -f .libs 2>/dev/null 2057 +mkdir .libs 2>/dev/null 2058 +if test -d .libs; then 2059 + lt_cv_objdir=.libs 2060 +else 2061 + # MS-DOS does not allow filenames that begin with a dot. 2062 + lt_cv_objdir=_libs 2063 +fi 2064 +rmdir .libs 2>/dev/null]) 2065 +objdir=$lt_cv_objdir 2066 +_LT_DECL([], [objdir], [0], 2067 + [The name of the directory that contains temporary libtool files])dnl 2068 +m4_pattern_allow([LT_OBJDIR])dnl 2069 +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", 2070 + [Define to the sub-directory in which libtool stores uninstalled libraries.]) 2071 +])# _LT_CHECK_OBJDIR 2072 + 2073 + 2074 +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 2075 +# -------------------------------------- 2076 +# Check hardcoding attributes. 2077 +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], 2078 +[AC_MSG_CHECKING([how to hardcode library paths into programs]) 2079 +_LT_TAGVAR(hardcode_action, $1)= 2080 +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 2081 + test -n "$_LT_TAGVAR(runpath_var, $1)" || 2082 + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then 2083 + 2084 + # We can hardcode non-existent directories. 2085 + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && 2086 + # If the only mechanism to avoid hardcoding is shlibpath_var, we 2087 + # have to relink, otherwise we might link with an installed library 2088 + # when we should be linking with a yet-to-be-installed one 2089 + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && 2090 + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then 2091 + # Linking always hardcodes the temporary library directory. 2092 + _LT_TAGVAR(hardcode_action, $1)=relink 2093 + else 2094 + # We can link without hardcoding, and we can hardcode nonexisting dirs. 2095 + _LT_TAGVAR(hardcode_action, $1)=immediate 2096 + fi 2097 +else 2098 + # We cannot hardcode anything, or else we can only hardcode existing 2099 + # directories. 2100 + _LT_TAGVAR(hardcode_action, $1)=unsupported 2101 +fi 2102 +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 2103 + 2104 +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || 2105 + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then 2106 + # Fast installation is not supported 2107 + enable_fast_install=no 2108 +elif test "$shlibpath_overrides_runpath" = yes || 2109 + test "$enable_shared" = no; then 2110 + # Fast installation is not necessary 2111 + enable_fast_install=needless 2112 +fi 2113 +_LT_TAGDECL([], [hardcode_action], [0], 2114 + [How to hardcode a shared library path into an executable]) 2115 +])# _LT_LINKER_HARDCODE_LIBPATH 2116 + 2117 + 2118 +# _LT_CMD_STRIPLIB 2119 +# ---------------- 2120 +m4_defun([_LT_CMD_STRIPLIB], 2121 +[m4_require([_LT_DECL_EGREP]) 2122 +striplib= 2123 +old_striplib= 2124 +AC_MSG_CHECKING([whether stripping libraries is possible]) 2125 +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 2126 + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 2127 + test -z "$striplib" && striplib="$STRIP --strip-unneeded" 2128 + AC_MSG_RESULT([yes]) 2129 +else 2130 +# FIXME - insert some real tests, host_os isn't really good enough 2131 + case $host_os in 2132 + darwin*) 2133 + if test -n "$STRIP" ; then 2134 + striplib="$STRIP -x" 2135 + old_striplib="$STRIP -S" 2136 + AC_MSG_RESULT([yes]) 2137 + else 2138 + AC_MSG_RESULT([no]) 2139 + fi 2140 + ;; 2141 + *) 2142 + AC_MSG_RESULT([no]) 2143 + ;; 2144 + esac 2145 +fi 2146 +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 2147 +_LT_DECL([], [striplib], [1]) 2148 +])# _LT_CMD_STRIPLIB 2149 + 2150 + 2151 +# _LT_SYS_DYNAMIC_LINKER([TAG]) 2152 +# ----------------------------- 2153 +# PORTME Fill in your ld.so characteristics 2154 +m4_defun([_LT_SYS_DYNAMIC_LINKER], 2155 +[AC_REQUIRE([AC_CANONICAL_HOST])dnl 2156 +m4_require([_LT_DECL_EGREP])dnl 2157 +m4_require([_LT_FILEUTILS_DEFAULTS])dnl 2158 +m4_require([_LT_DECL_OBJDUMP])dnl 2159 +m4_require([_LT_DECL_SED])dnl 2160 +m4_require([_LT_CHECK_SHELL_FEATURES])dnl 2161 +AC_MSG_CHECKING([dynamic linker characteristics]) 2162 +m4_if([$1], 2163 + [], [ 2164 +if test "$GCC" = yes; then 2165 + case $host_os in 2166 + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; 2167 + *) lt_awk_arg="/^libraries:/" ;; 2168 + esac 2169 + case $host_os in 2170 + mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; 2171 + *) lt_sed_strip_eq="s,=/,/,g" ;; 2172 + esac 2173 + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` 2174 + case $lt_search_path_spec in 2175 + *\;*) 2176 + # if the path contains ";" then we assume it to be the separator 2177 + # otherwise default to the standard path separator (i.e. ":") - it is 2178 + # assumed that no part of a normal pathname contains ";" but that should 2179 + # okay in the real world where ";" in dirpaths is itself problematic. 2180 + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` 2181 + ;; 2182 + *) 2183 + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` 2184 + ;; 2185 + esac 2186 + # Ok, now we have the path, separated by spaces, we can step through it 2187 + # and add multilib dir if necessary. 2188 + lt_tmp_lt_search_path_spec= 2189 + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 2190 + for lt_sys_path in $lt_search_path_spec; do 2191 + if test -d "$lt_sys_path/$lt_multi_os_dir"; then 2192 + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" 2193 + else 2194 + test -d "$lt_sys_path" && \ 2195 + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 2196 + fi 2197 + done 2198 + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' 2199 +BEGIN {RS=" "; FS="/|\n";} { 2200 + lt_foo=""; 2201 + lt_count=0; 2202 + for (lt_i = NF; lt_i > 0; lt_i--) { 2203 + if ($lt_i != "" && $lt_i != ".") { 2204 + if ($lt_i == "..") { 2205 + lt_count++; 2206 + } else { 2207 + if (lt_count == 0) { 2208 + lt_foo="/" $lt_i lt_foo; 2209 + } else { 2210 + lt_count--; 2211 + } 2212 + } 2213 + } 2214 + } 2215 + if (lt_foo != "") { lt_freq[[lt_foo]]++; } 2216 + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 2217 +}'` 2218 + # AWK program above erroneously prepends '/' to C:/dos/paths 2219 + # for these hosts. 2220 + case $host_os in 2221 + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 2222 + $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; 2223 + esac 2224 + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 2225 +else 2226 + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 2227 +fi]) 2228 +library_names_spec= 2229 +libname_spec='lib$name' 2230 +soname_spec= 2231 +shrext_cmds=".so" 2232 +postinstall_cmds= 2233 +postuninstall_cmds= 2234 +finish_cmds= 2235 +finish_eval= 2236 +shlibpath_var= 2237 +shlibpath_overrides_runpath=unknown 2238 +version_type=none 2239 +dynamic_linker="$host_os ld.so" 2240 +sys_lib_dlsearch_path_spec="/lib /usr/lib" 2241 +need_lib_prefix=unknown 2242 +hardcode_into_libs=no 2243 + 2244 +# when you set need_version to no, make sure it does not cause -set_version 2245 +# flags to be left without arguments 2246 +need_version=unknown 2247 + 2248 +case $host_os in 2249 +aix3*) 2250 + version_type=linux # correct to gnu/linux during the next big refactor 2251 + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' 2252 + shlibpath_var=LIBPATH 2253 + 2254 + # AIX 3 has no versioning support, so we append a major version to the name. 2255 + soname_spec='${libname}${release}${shared_ext}$major' 2256 + ;; 2257 + 2258 +aix[[4-9]]*) 2259 + version_type=linux # correct to gnu/linux during the next big refactor 2260 + need_lib_prefix=no 2261 + need_version=no 2262 + hardcode_into_libs=yes 2263 + if test "$host_cpu" = ia64; then 2264 + # AIX 5 supports IA64 2265 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' 2266 + shlibpath_var=LD_LIBRARY_PATH 2267 + else 2268 + # With GCC up to 2.95.x, collect2 would create an import file 2269 + # for dependence libraries. The import file would start with 2270 + # the line `#! .'. This would cause the generated library to 2271 + # depend on `.', always an invalid library. This was fixed in 2272 + # development snapshots of GCC prior to 3.0. 2273 + case $host_os in 2274 + aix4 | aix4.[[01]] | aix4.[[01]].*) 2275 + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 2276 + echo ' yes ' 2277 + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then 2278 + : 2279 + else 2280 + can_build_shared=no 2281 + fi 2282 + ;; 2283 + esac 2284 + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct 2285 + # soname into executable. Probably we can add versioning support to 2286 + # collect2, so additional links can be useful in future. 2287 + if test "$aix_use_runtimelinking" = yes; then 2288 + # If using run time linking (on AIX 4.2 or later) use lib<name>.so 2289 + # instead of lib<name>.a to let people know that these are not 2290 + # typical AIX shared libraries. 2291 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2292 + else 2293 + # We preserve .a as extension for shared libraries through AIX4.2 2294 + # and later when we are not doing run time linking. 2295 + library_names_spec='${libname}${release}.a $libname.a' 2296 + soname_spec='${libname}${release}${shared_ext}$major' 2297 + fi 2298 + shlibpath_var=LIBPATH 2299 + fi 2300 + ;; 2301 + 2302 +amigaos*) 2303 + case $host_cpu in 2304 + powerpc) 2305 + # Since July 2007 AmigaOS4 officially supports .so libraries. 2306 + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 2307 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2308 + ;; 2309 + m68k) 2310 + library_names_spec='$libname.ixlibrary $libname.a' 2311 + # Create ${libname}_ixlibrary.a entries in /sys/libs. 2312 + 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' 2313 + ;; 2314 + esac 2315 + ;; 2316 + 2317 +beos*) 2318 + library_names_spec='${libname}${shared_ext}' 2319 + dynamic_linker="$host_os ld.so" 2320 + shlibpath_var=LIBRARY_PATH 2321 + ;; 2322 + 2323 +bsdi[[45]]*) 2324 + version_type=linux # correct to gnu/linux during the next big refactor 2325 + need_version=no 2326 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2327 + soname_spec='${libname}${release}${shared_ext}$major' 2328 + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 2329 + shlibpath_var=LD_LIBRARY_PATH 2330 + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 2331 + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 2332 + # the default ld.so.conf also contains /usr/contrib/lib and 2333 + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 2334 + # libtool to hard-code these into programs 2335 + ;; 2336 + 2337 +cygwin* | mingw* | pw32* | cegcc*) 2338 + version_type=windows 2339 + shrext_cmds=".dll" 2340 + need_version=no 2341 + need_lib_prefix=no 2342 + 2343 + case $GCC,$cc_basename in 2344 + yes,*) 2345 + # gcc 2346 + library_names_spec='$libname.dll.a' 2347 + # DLL is installed to $(libdir)/../bin by postinstall_cmds 2348 + postinstall_cmds='base_file=`basename \${file}`~ 2349 + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ 2350 + dldir=$destdir/`dirname \$dlpath`~ 2351 + test -d \$dldir || mkdir -p \$dldir~ 2352 + $install_prog $dir/$dlname \$dldir/$dlname~ 2353 + chmod a+x \$dldir/$dlname~ 2354 + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 2355 + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 2356 + fi' 2357 + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 2358 + dlpath=$dir/\$dldll~ 2359 + $RM \$dlpath' 2360 + shlibpath_overrides_runpath=yes 2361 + 2362 + case $host_os in 2363 + cygwin*) 2364 + # Cygwin DLLs use 'cyg' prefix rather than 'lib' 2365 + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2366 +m4_if([$1], [],[ 2367 + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) 2368 + ;; 2369 + mingw* | cegcc*) 2370 + # MinGW DLLs use traditional 'lib' prefix 2371 + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2372 + ;; 2373 + pw32*) 2374 + # pw32 DLLs use 'pw' prefix rather than 'lib' 2375 + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2376 + ;; 2377 + esac 2378 + dynamic_linker='Win32 ld.exe' 2379 + ;; 2380 + 2381 + *,cl*) 2382 + # Native MSVC 2383 + libname_spec='$name' 2384 + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2385 + library_names_spec='${libname}.dll.lib' 2386 + 2387 + case $build_os in 2388 + mingw*) 2389 + sys_lib_search_path_spec= 2390 + lt_save_ifs=$IFS 2391 + IFS=';' 2392 + for lt_path in $LIB 2393 + do 2394 + IFS=$lt_save_ifs 2395 + # Let DOS variable expansion print the short 8.3 style file name. 2396 + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` 2397 + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" 2398 + done 2399 + IFS=$lt_save_ifs 2400 + # Convert to MSYS style. 2401 + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` 2402 + ;; 2403 + cygwin*) 2404 + # Convert to unix form, then to dos form, then back to unix form 2405 + # but this time dos style (no spaces!) so that the unix form looks 2406 + # like /cygdrive/c/PROGRA~1:/cygdr... 2407 + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` 2408 + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` 2409 + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2410 + ;; 2411 + *) 2412 + sys_lib_search_path_spec="$LIB" 2413 + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then 2414 + # It is most probably a Windows format PATH. 2415 + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 2416 + else 2417 + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2418 + fi 2419 + # FIXME: find the short name or the path components, as spaces are 2420 + # common. (e.g. "Program Files" -> "PROGRA~1") 2421 + ;; 2422 + esac 2423 + 2424 + # DLL is installed to $(libdir)/../bin by postinstall_cmds 2425 + postinstall_cmds='base_file=`basename \${file}`~ 2426 + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ 2427 + dldir=$destdir/`dirname \$dlpath`~ 2428 + test -d \$dldir || mkdir -p \$dldir~ 2429 + $install_prog $dir/$dlname \$dldir/$dlname' 2430 + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 2431 + dlpath=$dir/\$dldll~ 2432 + $RM \$dlpath' 2433 + shlibpath_overrides_runpath=yes 2434 + dynamic_linker='Win32 link.exe' 2435 + ;; 2436 + 2437 + *) 2438 + # Assume MSVC wrapper 2439 + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' 2440 + dynamic_linker='Win32 ld.exe' 2441 + ;; 2442 + esac 2443 + # FIXME: first we should search . and the directory the executable is in 2444 + shlibpath_var=PATH 2445 + ;; 2446 + 2447 +darwin* | rhapsody*) 2448 + dynamic_linker="$host_os dyld" 2449 + version_type=darwin 2450 + need_lib_prefix=no 2451 + need_version=no 2452 + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' 2453 + soname_spec='${libname}${release}${major}$shared_ext' 2454 + shlibpath_overrides_runpath=yes 2455 + shlibpath_var=DYLD_LIBRARY_PATH 2456 + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 2457 +m4_if([$1], [],[ 2458 + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 2459 + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 2460 + ;; 2461 + 2462 +dgux*) 2463 + version_type=linux # correct to gnu/linux during the next big refactor 2464 + need_lib_prefix=no 2465 + need_version=no 2466 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' 2467 + soname_spec='${libname}${release}${shared_ext}$major' 2468 + shlibpath_var=LD_LIBRARY_PATH 2469 + ;; 2470 + 2471 +freebsd* | dragonfly*) 2472 + # DragonFly does not have aout. When/if they implement a new 2473 + # versioning mechanism, adjust this. 2474 + if test -x /usr/bin/objformat; then 2475 + objformat=`/usr/bin/objformat` 2476 + else 2477 + case $host_os in 2478 + freebsd[[23]].*) objformat=aout ;; 2479 + *) objformat=elf ;; 2480 + esac 2481 + fi 2482 + version_type=freebsd-$objformat 2483 + case $version_type in 2484 + freebsd-elf*) 2485 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 2486 + need_version=no 2487 + need_lib_prefix=no 2488 + ;; 2489 + freebsd-*) 2490 + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' 2491 + need_version=yes 2492 + ;; 2493 + esac 2494 + shlibpath_var=LD_LIBRARY_PATH 2495 + case $host_os in 2496 + freebsd2.*) 2497 + shlibpath_overrides_runpath=yes 2498 + ;; 2499 + freebsd3.[[01]]* | freebsdelf3.[[01]]*) 2500 + shlibpath_overrides_runpath=yes 2501 + hardcode_into_libs=yes 2502 + ;; 2503 + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 2504 + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 2505 + shlibpath_overrides_runpath=no 2506 + hardcode_into_libs=yes 2507 + ;; 2508 + *) # from 4.6 on, and DragonFly 2509 + shlibpath_overrides_runpath=yes 2510 + hardcode_into_libs=yes 2511 + ;; 2512 + esac 2513 + ;; 2514 + 2515 +gnu*) 2516 + version_type=linux # correct to gnu/linux during the next big refactor 2517 + need_lib_prefix=no 2518 + need_version=no 2519 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' 2520 + soname_spec='${libname}${release}${shared_ext}$major' 2521 + shlibpath_var=LD_LIBRARY_PATH 2522 + shlibpath_overrides_runpath=no 2523 + hardcode_into_libs=yes 2524 + ;; 2525 + 2526 +haiku*) 2527 + version_type=linux # correct to gnu/linux during the next big refactor 2528 + need_lib_prefix=no 2529 + need_version=no 2530 + dynamic_linker="$host_os runtime_loader" 2531 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' 2532 + soname_spec='${libname}${release}${shared_ext}$major' 2533 + shlibpath_var=LIBRARY_PATH 2534 + shlibpath_overrides_runpath=yes 2535 + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 2536 + hardcode_into_libs=yes 2537 + ;; 2538 + 2539 +hpux9* | hpux10* | hpux11*) 2540 + # Give a soname corresponding to the major version so that dld.sl refuses to 2541 + # link against other versions. 2542 + version_type=sunos 2543 + need_lib_prefix=no 2544 + need_version=no 2545 + case $host_cpu in 2546 + ia64*) 2547 + shrext_cmds='.so' 2548 + hardcode_into_libs=yes 2549 + dynamic_linker="$host_os dld.so" 2550 + shlibpath_var=LD_LIBRARY_PATH 2551 + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2552 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2553 + soname_spec='${libname}${release}${shared_ext}$major' 2554 + if test "X$HPUX_IA64_MODE" = X32; then 2555 + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 2556 + else 2557 + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 2558 + fi 2559 + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2560 + ;; 2561 + hppa*64*) 2562 + shrext_cmds='.sl' 2563 + hardcode_into_libs=yes 2564 + dynamic_linker="$host_os dld.sl" 2565 + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 2566 + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2567 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2568 + soname_spec='${libname}${release}${shared_ext}$major' 2569 + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 2570 + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2571 + ;; 2572 + *) 2573 + shrext_cmds='.sl' 2574 + dynamic_linker="$host_os dld.sl" 2575 + shlibpath_var=SHLIB_PATH 2576 + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 2577 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2578 + soname_spec='${libname}${release}${shared_ext}$major' 2579 + ;; 2580 + esac 2581 + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... 2582 + postinstall_cmds='chmod 555 $lib' 2583 + # or fails outright, so override atomically: 2584 + install_override_mode=555 2585 + ;; 2586 + 2587 +interix[[3-9]]*) 2588 + version_type=linux # correct to gnu/linux during the next big refactor 2589 + need_lib_prefix=no 2590 + need_version=no 2591 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 2592 + soname_spec='${libname}${release}${shared_ext}$major' 2593 + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 2594 + shlibpath_var=LD_LIBRARY_PATH 2595 + shlibpath_overrides_runpath=no 2596 + hardcode_into_libs=yes 2597 + ;; 2598 + 2599 +irix5* | irix6* | nonstopux*) 2600 + case $host_os in 2601 + nonstopux*) version_type=nonstopux ;; 2602 + *) 2603 + if test "$lt_cv_prog_gnu_ld" = yes; then 2604 + version_type=linux # correct to gnu/linux during the next big refactor 2605 + else 2606 + version_type=irix 2607 + fi ;; 2608 + esac 2609 + need_lib_prefix=no 2610 + need_version=no 2611 + soname_spec='${libname}${release}${shared_ext}$major' 2612 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' 2613 + case $host_os in 2614 + irix5* | nonstopux*) 2615 + libsuff= shlibsuff= 2616 + ;; 2617 + *) 2618 + case $LD in # libtool.m4 will add one of these switches to LD 2619 + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 2620 + libsuff= shlibsuff= libmagic=32-bit;; 2621 + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 2622 + libsuff=32 shlibsuff=N32 libmagic=N32;; 2623 + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 2624 + libsuff=64 shlibsuff=64 libmagic=64-bit;; 2625 + *) libsuff= shlibsuff= libmagic=never-match;; 2626 + esac 2627 + ;; 2628 + esac 2629 + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 2630 + shlibpath_overrides_runpath=no 2631 + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" 2632 + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" 2633 + hardcode_into_libs=yes 2634 + ;; 2635 + 2636 +# No shared lib support for Linux oldld, aout, or coff. 2637 +linux*oldld* | linux*aout* | linux*coff*) 2638 + dynamic_linker=no 2639 + ;; 2640 + 2641 +# This must be glibc/ELF. 2642 +linux* | k*bsd*-gnu | kopensolaris*-gnu) 2643 + version_type=linux # correct to gnu/linux during the next big refactor 2644 + need_lib_prefix=no 2645 + need_version=no 2646 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2647 + soname_spec='${libname}${release}${shared_ext}$major' 2648 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 2649 + shlibpath_var=LD_LIBRARY_PATH 2650 + shlibpath_overrides_runpath=no 2651 + 2652 + # Some binutils ld are patched to set DT_RUNPATH 2653 + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], 2654 + [lt_cv_shlibpath_overrides_runpath=no 2655 + save_LDFLAGS=$LDFLAGS 2656 + save_libdir=$libdir 2657 + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 2658 + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 2659 + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 2660 + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 2661 + [lt_cv_shlibpath_overrides_runpath=yes])]) 2662 + LDFLAGS=$save_LDFLAGS 2663 + libdir=$save_libdir 2664 + ]) 2665 + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 2666 + 2667 + # This implies no fast_install, which is unacceptable. 2668 + # Some rework will be needed to allow for fast_install 2669 + # before this can be enabled. 2670 + hardcode_into_libs=yes 2671 + 2672 + # Add ABI-specific directories to the system library path. 2673 + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" 2674 + 2675 + # Append ld.so.conf contents to the search path 2676 + if test -f /etc/ld.so.conf; then 2677 + 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' ' '` 2678 + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" 2679 + 2680 + fi 2681 + 2682 + # We used to test for /lib/ld.so.1 and disable shared libraries on 2683 + # powerpc, because MkLinux only supported shared libraries with the 2684 + # GNU dynamic linker. Since this was broken with cross compilers, 2685 + # most powerpc-linux boxes support dynamic linking these days and 2686 + # people can always --disable-shared, the test was removed, and we 2687 + # assume the GNU/Linux dynamic linker is in use. 2688 + dynamic_linker='GNU/Linux ld.so' 2689 + ;; 2690 + 2691 +netbsd*) 2692 + version_type=sunos 2693 + need_lib_prefix=no 2694 + need_version=no 2695 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 2696 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 2697 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 2698 + dynamic_linker='NetBSD (a.out) ld.so' 2699 + else 2700 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 2701 + soname_spec='${libname}${release}${shared_ext}$major' 2702 + dynamic_linker='NetBSD ld.elf_so' 2703 + fi 2704 + shlibpath_var=LD_LIBRARY_PATH 2705 + shlibpath_overrides_runpath=yes 2706 + hardcode_into_libs=yes 2707 + ;; 2708 + 2709 +newsos6) 2710 + version_type=linux # correct to gnu/linux during the next big refactor 2711 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2712 + shlibpath_var=LD_LIBRARY_PATH 2713 + shlibpath_overrides_runpath=yes 2714 + ;; 2715 + 2716 +*nto* | *qnx*) 2717 + version_type=qnx 2718 + need_lib_prefix=no 2719 + need_version=no 2720 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2721 + soname_spec='${libname}${release}${shared_ext}$major' 2722 + shlibpath_var=LD_LIBRARY_PATH 2723 + shlibpath_overrides_runpath=no 2724 + hardcode_into_libs=yes 2725 + dynamic_linker='ldqnx.so' 2726 + ;; 2727 + 2728 +openbsd*) 2729 + version_type=sunos 2730 + sys_lib_dlsearch_path_spec="/usr/lib" 2731 + need_lib_prefix=no 2732 + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. 2733 + case $host_os in 2734 + openbsd3.3 | openbsd3.3.*) need_version=yes ;; 2735 + *) need_version=no ;; 2736 + esac 2737 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 2738 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 2739 + shlibpath_var=LD_LIBRARY_PATH 2740 + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 2741 + case $host_os in 2742 + openbsd2.[[89]] | openbsd2.[[89]].*) 2743 + shlibpath_overrides_runpath=no 2744 + ;; 2745 + *) 2746 + shlibpath_overrides_runpath=yes 2747 + ;; 2748 + esac 2749 + else 2750 + shlibpath_overrides_runpath=yes 2751 + fi 2752 + ;; 2753 + 2754 +os2*) 2755 + libname_spec='$name' 2756 + shrext_cmds=".dll" 2757 + need_lib_prefix=no 2758 + library_names_spec='$libname${shared_ext} $libname.a' 2759 + dynamic_linker='OS/2 ld.exe' 2760 + shlibpath_var=LIBPATH 2761 + ;; 2762 + 2763 +osf3* | osf4* | osf5*) 2764 + version_type=osf 2765 + need_lib_prefix=no 2766 + need_version=no 2767 + soname_spec='${libname}${release}${shared_ext}$major' 2768 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2769 + shlibpath_var=LD_LIBRARY_PATH 2770 + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 2771 + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" 2772 + ;; 2773 + 2774 +rdos*) 2775 + dynamic_linker=no 2776 + ;; 2777 + 2778 +solaris*) 2779 + version_type=linux # correct to gnu/linux during the next big refactor 2780 + need_lib_prefix=no 2781 + need_version=no 2782 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2783 + soname_spec='${libname}${release}${shared_ext}$major' 2784 + shlibpath_var=LD_LIBRARY_PATH 2785 + shlibpath_overrides_runpath=yes 2786 + hardcode_into_libs=yes 2787 + # ldd complains unless libraries are executable 2788 + postinstall_cmds='chmod +x $lib' 2789 + ;; 2790 + 2791 +sunos4*) 2792 + version_type=sunos 2793 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 2794 + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 2795 + shlibpath_var=LD_LIBRARY_PATH 2796 + shlibpath_overrides_runpath=yes 2797 + if test "$with_gnu_ld" = yes; then 2798 + need_lib_prefix=no 2799 + fi 2800 + need_version=yes 2801 + ;; 2802 + 2803 +sysv4 | sysv4.3*) 2804 + version_type=linux # correct to gnu/linux during the next big refactor 2805 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2806 + soname_spec='${libname}${release}${shared_ext}$major' 2807 + shlibpath_var=LD_LIBRARY_PATH 2808 + case $host_vendor in 2809 + sni) 2810 + shlibpath_overrides_runpath=no 2811 + need_lib_prefix=no 2812 + runpath_var=LD_RUN_PATH 2813 + ;; 2814 + siemens) 2815 + need_lib_prefix=no 2816 + ;; 2817 + motorola) 2818 + need_lib_prefix=no 2819 + need_version=no 2820 + shlibpath_overrides_runpath=no 2821 + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 2822 + ;; 2823 + esac 2824 + ;; 2825 + 2826 +sysv4*MP*) 2827 + if test -d /usr/nec ;then 2828 + version_type=linux # correct to gnu/linux during the next big refactor 2829 + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' 2830 + soname_spec='$libname${shared_ext}.$major' 2831 + shlibpath_var=LD_LIBRARY_PATH 2832 + fi 2833 + ;; 2834 + 2835 +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 2836 + version_type=freebsd-elf 2837 + need_lib_prefix=no 2838 + need_version=no 2839 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 2840 + soname_spec='${libname}${release}${shared_ext}$major' 2841 + shlibpath_var=LD_LIBRARY_PATH 2842 + shlibpath_overrides_runpath=yes 2843 + hardcode_into_libs=yes 2844 + if test "$with_gnu_ld" = yes; then 2845 + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 2846 + else 2847 + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 2848 + case $host_os in 2849 + sco3.2v5*) 2850 + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 2851 + ;; 2852 + esac 2853 + fi 2854 + sys_lib_dlsearch_path_spec='/usr/lib' 2855 + ;; 2856 + 2857 +tpf*) 2858 + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 2859 + version_type=linux # correct to gnu/linux during the next big refactor 2860 + need_lib_prefix=no 2861 + need_version=no 2862 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2863 + shlibpath_var=LD_LIBRARY_PATH 2864 + shlibpath_overrides_runpath=no 2865 + hardcode_into_libs=yes 2866 + ;; 2867 + 2868 +uts4*) 2869 + version_type=linux # correct to gnu/linux during the next big refactor 2870 + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2871 + soname_spec='${libname}${release}${shared_ext}$major' 2872 + shlibpath_var=LD_LIBRARY_PATH 2873 + ;; 2874 + 2875 +*) 2876 + dynamic_linker=no 2877 + ;; 2878 +esac 2879 +AC_MSG_RESULT([$dynamic_linker]) 2880 +test "$dynamic_linker" = no && can_build_shared=no 2881 + 2882 +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 2883 +if test "$GCC" = yes; then 2884 + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 2885 +fi 2886 + 2887 +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then 2888 + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" 2889 +fi 2890 +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then 2891 + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" 2892 +fi 2893 + 2894 +_LT_DECL([], [variables_saved_for_relink], [1], 2895 + [Variables whose values should be saved in libtool wrapper scripts and 2896 + restored at link time]) 2897 +_LT_DECL([], [need_lib_prefix], [0], 2898 + [Do we need the "lib" prefix for modules?]) 2899 +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 2900 +_LT_DECL([], [version_type], [0], [Library versioning type]) 2901 +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 2902 +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 2903 +_LT_DECL([], [shlibpath_overrides_runpath], [0], 2904 + [Is shlibpath searched before the hard-coded library search path?]) 2905 +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 2906 +_LT_DECL([], [library_names_spec], [1], 2907 + [[List of archive names. First name is the real one, the rest are links. 2908 + The last name is the one that the linker finds with -lNAME]]) 2909 +_LT_DECL([], [soname_spec], [1], 2910 + [[The coded name of the library, if different from the real name]]) 2911 +_LT_DECL([], [install_override_mode], [1], 2912 + [Permission mode override for installation of shared libraries]) 2913 +_LT_DECL([], [postinstall_cmds], [2], 2914 + [Command to use after installation of a shared archive]) 2915 +_LT_DECL([], [postuninstall_cmds], [2], 2916 + [Command to use after uninstallation of a shared archive]) 2917 +_LT_DECL([], [finish_cmds], [2], 2918 + [Commands used to finish a libtool library installation in a directory]) 2919 +_LT_DECL([], [finish_eval], [1], 2920 + [[As "finish_cmds", except a single script fragment to be evaled but 2921 + not shown]]) 2922 +_LT_DECL([], [hardcode_into_libs], [0], 2923 + [Whether we should hardcode library paths into libraries]) 2924 +_LT_DECL([], [sys_lib_search_path_spec], [2], 2925 + [Compile-time system search path for libraries]) 2926 +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], 2927 + [Run-time system search path for libraries]) 2928 +])# _LT_SYS_DYNAMIC_LINKER 2929 + 2930 + 2931 +# _LT_PATH_TOOL_PREFIX(TOOL) 2932 +# -------------------------- 2933 +# find a file program which can recognize shared library 2934 +AC_DEFUN([_LT_PATH_TOOL_PREFIX], 2935 +[m4_require([_LT_DECL_EGREP])dnl 2936 +AC_MSG_CHECKING([for $1]) 2937 +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 2938 +[case $MAGIC_CMD in 2939 +[[\\/*] | ?:[\\/]*]) 2940 + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. 2941 + ;; 2942 +*) 2943 + lt_save_MAGIC_CMD="$MAGIC_CMD" 2944 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 2945 +dnl $ac_dummy forces splitting on constant user-supplied paths. 2946 +dnl POSIX.2 word splitting is done only on the output of word expansions, 2947 +dnl not every word. This closes a longstanding sh security hole. 2948 + ac_dummy="m4_if([$2], , $PATH, [$2])" 2949 + for ac_dir in $ac_dummy; do 2950 + IFS="$lt_save_ifs" 2951 + test -z "$ac_dir" && ac_dir=. 2952 + if test -f $ac_dir/$1; then 2953 + lt_cv_path_MAGIC_CMD="$ac_dir/$1" 2954 + if test -n "$file_magic_test_file"; then 2955 + case $deplibs_check_method in 2956 + "file_magic "*) 2957 + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 2958 + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 2959 + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 2960 + $EGREP "$file_magic_regex" > /dev/null; then 2961 + : 2962 + else 2963 + cat <<_LT_EOF 1>&2 2964 + 2965 +*** Warning: the command libtool uses to detect shared libraries, 2966 +*** $file_magic_cmd, produces output that libtool cannot recognize. 2967 +*** The result is that libtool may fail to recognize shared libraries 2968 +*** as such. This will affect the creation of libtool libraries that 2969 +*** depend on shared libraries, but programs linked with such libtool 2970 +*** libraries will work regardless of this problem. Nevertheless, you 2971 +*** may want to report the problem to your system manager and/or to 2972 +*** bug-libtool@gnu.org 2973 + 2974 +_LT_EOF 2975 + fi ;; 2976 + esac 2977 + fi 2978 + break 2979 + fi 2980 + done 2981 + IFS="$lt_save_ifs" 2982 + MAGIC_CMD="$lt_save_MAGIC_CMD" 2983 + ;; 2984 +esac]) 2985 +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 2986 +if test -n "$MAGIC_CMD"; then 2987 + AC_MSG_RESULT($MAGIC_CMD) 2988 +else 2989 + AC_MSG_RESULT(no) 2990 +fi 2991 +_LT_DECL([], [MAGIC_CMD], [0], 2992 + [Used to examine libraries when file_magic_cmd begins with "file"])dnl 2993 +])# _LT_PATH_TOOL_PREFIX 2994 + 2995 +# Old name: 2996 +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 2997 +dnl aclocal-1.4 backwards compatibility: 2998 +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 2999 + 3000 + 3001 +# _LT_PATH_MAGIC 3002 +# -------------- 3003 +# find a file program which can recognize a shared library 3004 +m4_defun([_LT_PATH_MAGIC], 3005 +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 3006 +if test -z "$lt_cv_path_MAGIC_CMD"; then 3007 + if test -n "$ac_tool_prefix"; then 3008 + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 3009 + else 3010 + MAGIC_CMD=: 3011 + fi 3012 +fi 3013 +])# _LT_PATH_MAGIC 3014 + 3015 + 3016 +# LT_PATH_LD 3017 +# ---------- 3018 +# find the pathname to the GNU or non-GNU linker 3019 +AC_DEFUN([LT_PATH_LD], 3020 +[AC_REQUIRE([AC_PROG_CC])dnl 3021 +AC_REQUIRE([AC_CANONICAL_HOST])dnl 3022 +AC_REQUIRE([AC_CANONICAL_BUILD])dnl 3023 +m4_require([_LT_DECL_SED])dnl 3024 +m4_require([_LT_DECL_EGREP])dnl 3025 +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl 3026 + 3027 +AC_ARG_WITH([gnu-ld], 3028 + [AS_HELP_STRING([--with-gnu-ld], 3029 + [assume the C compiler uses GNU ld @<:@default=no@:>@])], 3030 + [test "$withval" = no || with_gnu_ld=yes], 3031 + [with_gnu_ld=no])dnl 3032 + 3033 +ac_prog=ld 3034 +if test "$GCC" = yes; then 3035 + # Check if gcc -print-prog-name=ld gives a path. 3036 + AC_MSG_CHECKING([for ld used by $CC]) 3037 + case $host in 3038 + *-*-mingw*) 3039 + # gcc leaves a trailing carriage return which upsets mingw 3040 + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 3041 + *) 3042 + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 3043 + esac 3044 + case $ac_prog in 3045 + # Accept absolute paths. 3046 + [[\\/]]* | ?:[[\\/]]*) 3047 + re_direlt='/[[^/]][[^/]]*/\.\./' 3048 + # Canonicalize the pathname of ld 3049 + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 3050 + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 3051 + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 3052 + done 3053 + test -z "$LD" && LD="$ac_prog" 3054 + ;; 3055 + "") 3056 + # If it fails, then pretend we aren't using GCC. 3057 + ac_prog=ld 3058 + ;; 3059 + *) 3060 + # If it is relative, then search for the first ld in PATH. 3061 + with_gnu_ld=unknown 3062 + ;; 3063 + esac 3064 +elif test "$with_gnu_ld" = yes; then 3065 + AC_MSG_CHECKING([for GNU ld]) 3066 +else 3067 + AC_MSG_CHECKING([for non-GNU ld]) 3068 +fi 3069 +AC_CACHE_VAL(lt_cv_path_LD, 3070 +[if test -z "$LD"; then 3071 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 3072 + for ac_dir in $PATH; do 3073 + IFS="$lt_save_ifs" 3074 + test -z "$ac_dir" && ac_dir=. 3075 + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 3076 + lt_cv_path_LD="$ac_dir/$ac_prog" 3077 + # Check to see if the program is GNU ld. I'd rather use --version, 3078 + # but apparently some variants of GNU ld only accept -v. 3079 + # Break only if it was the GNU/non-GNU ld that we prefer. 3080 + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 3081 + *GNU* | *'with BFD'*) 3082 + test "$with_gnu_ld" != no && break 3083 + ;; 3084 + *) 3085 + test "$with_gnu_ld" != yes && break 3086 + ;; 3087 + esac 3088 + fi 3089 + done 3090 + IFS="$lt_save_ifs" 3091 +else 3092 + lt_cv_path_LD="$LD" # Let the user override the test with a path. 3093 +fi]) 3094 +LD="$lt_cv_path_LD" 3095 +if test -n "$LD"; then 3096 + AC_MSG_RESULT($LD) 3097 +else 3098 + AC_MSG_RESULT(no) 3099 +fi 3100 +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 3101 +_LT_PATH_LD_GNU 3102 +AC_SUBST([LD]) 3103 + 3104 +_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 3105 +])# LT_PATH_LD 3106 + 3107 +# Old names: 3108 +AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 3109 +AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 3110 +dnl aclocal-1.4 backwards compatibility: 3111 +dnl AC_DEFUN([AM_PROG_LD], []) 3112 +dnl AC_DEFUN([AC_PROG_LD], []) 3113 + 3114 + 3115 +# _LT_PATH_LD_GNU 3116 +#- -------------- 3117 +m4_defun([_LT_PATH_LD_GNU], 3118 +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 3119 +[# I'd rather use --version here, but apparently some GNU lds only accept -v. 3120 +case `$LD -v 2>&1 </dev/null` in 3121 +*GNU* | *'with BFD'*) 3122 + lt_cv_prog_gnu_ld=yes 3123 + ;; 3124 +*) 3125 + lt_cv_prog_gnu_ld=no 3126 + ;; 3127 +esac]) 3128 +with_gnu_ld=$lt_cv_prog_gnu_ld 3129 +])# _LT_PATH_LD_GNU 3130 + 3131 + 3132 +# _LT_CMD_RELOAD 3133 +# -------------- 3134 +# find reload flag for linker 3135 +# -- PORTME Some linkers may need a different reload flag. 3136 +m4_defun([_LT_CMD_RELOAD], 3137 +[AC_CACHE_CHECK([for $LD option to reload object files], 3138 + lt_cv_ld_reload_flag, 3139 + [lt_cv_ld_reload_flag='-r']) 3140 +reload_flag=$lt_cv_ld_reload_flag 3141 +case $reload_flag in 3142 +"" | " "*) ;; 3143 +*) reload_flag=" $reload_flag" ;; 3144 +esac 3145 +reload_cmds='$LD$reload_flag -o $output$reload_objs' 3146 +case $host_os in 3147 + cygwin* | mingw* | pw32* | cegcc*) 3148 + if test "$GCC" != yes; then 3149 + reload_cmds=false 3150 + fi 3151 + ;; 3152 + darwin*) 3153 + if test "$GCC" = yes; then 3154 + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' 3155 + else 3156 + reload_cmds='$LD$reload_flag -o $output$reload_objs' 3157 + fi 3158 + ;; 3159 +esac 3160 +_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl 3161 +_LT_TAGDECL([], [reload_cmds], [2])dnl 3162 +])# _LT_CMD_RELOAD 3163 + 3164 + 3165 +# _LT_CHECK_MAGIC_METHOD 3166 +# ---------------------- 3167 +# how to check for library dependencies 3168 +# -- PORTME fill in with the dynamic library characteristics 3169 +m4_defun([_LT_CHECK_MAGIC_METHOD], 3170 +[m4_require([_LT_DECL_EGREP]) 3171 +m4_require([_LT_DECL_OBJDUMP]) 3172 +AC_CACHE_CHECK([how to recognize dependent libraries], 3173 +lt_cv_deplibs_check_method, 3174 +[lt_cv_file_magic_cmd='$MAGIC_CMD' 3175 +lt_cv_file_magic_test_file= 3176 +lt_cv_deplibs_check_method='unknown' 3177 +# Need to set the preceding variable on all platforms that support 3178 +# interlibrary dependencies. 3179 +# 'none' -- dependencies not supported. 3180 +# `unknown' -- same as none, but documents that we really don't know. 3181 +# 'pass_all' -- all dependencies passed with no checks. 3182 +# 'test_compile' -- check by making test program. 3183 +# 'file_magic [[regex]]' -- check by looking for files in library path 3184 +# which responds to the $file_magic_cmd with a given extended regex. 3185 +# If you have `file' or equivalent on your system and you're not sure 3186 +# whether `pass_all' will *always* work, you probably want this one. 3187 + 3188 +case $host_os in 3189 +aix[[4-9]]*) 3190 + lt_cv_deplibs_check_method=pass_all 3191 + ;; 3192 + 3193 +beos*) 3194 + lt_cv_deplibs_check_method=pass_all 3195 + ;; 3196 + 3197 +bsdi[[45]]*) 3198 + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 3199 + lt_cv_file_magic_cmd='/usr/bin/file -L' 3200 + lt_cv_file_magic_test_file=/shlib/libc.so 3201 + ;; 3202 + 3203 +cygwin*) 3204 + # func_win32_libid is a shell function defined in ltmain.sh 3205 + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3206 + lt_cv_file_magic_cmd='func_win32_libid' 3207 + ;; 3208 + 3209 +mingw* | pw32*) 3210 + # Base MSYS/MinGW do not provide the 'file' command needed by 3211 + # func_win32_libid shell function, so use a weaker test based on 'objdump', 3212 + # unless we find 'file', for example because we are cross-compiling. 3213 + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. 3214 + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then 3215 + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3216 + lt_cv_file_magic_cmd='func_win32_libid' 3217 + else 3218 + # Keep this pattern in sync with the one in func_win32_libid. 3219 + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' 3220 + lt_cv_file_magic_cmd='$OBJDUMP -f' 3221 + fi 3222 + ;; 3223 + 3224 +cegcc*) 3225 + # use the weaker test based on 'objdump'. See mingw*. 3226 + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 3227 + lt_cv_file_magic_cmd='$OBJDUMP -f' 3228 + ;; 3229 + 3230 +darwin* | rhapsody*) 3231 + lt_cv_deplibs_check_method=pass_all 3232 + ;; 3233 + 3234 +freebsd* | dragonfly*) 3235 + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3236 + case $host_cpu in 3237 + i*86 ) 3238 + # Not sure whether the presence of OpenBSD here was a mistake. 3239 + # Let's accept both of them until this is cleared up. 3240 + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 3241 + lt_cv_file_magic_cmd=/usr/bin/file 3242 + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 3243 + ;; 3244 + esac 3245 + else 3246 + lt_cv_deplibs_check_method=pass_all 3247 + fi 3248 + ;; 3249 + 3250 +gnu*) 3251 + lt_cv_deplibs_check_method=pass_all 3252 + ;; 3253 + 3254 +haiku*) 3255 + lt_cv_deplibs_check_method=pass_all 3256 + ;; 3257 + 3258 +hpux10.20* | hpux11*) 3259 + lt_cv_file_magic_cmd=/usr/bin/file 3260 + case $host_cpu in 3261 + ia64*) 3262 + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 3263 + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 3264 + ;; 3265 + hppa*64*) 3266 + [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]'] 3267 + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 3268 + ;; 3269 + *) 3270 + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' 3271 + lt_cv_file_magic_test_file=/usr/lib/libc.sl 3272 + ;; 3273 + esac 3274 + ;; 3275 + 3276 +interix[[3-9]]*) 3277 + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 3278 + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 3279 + ;; 3280 + 3281 +irix5* | irix6* | nonstopux*) 3282 + case $LD in 3283 + *-32|*"-32 ") libmagic=32-bit;; 3284 + *-n32|*"-n32 ") libmagic=N32;; 3285 + *-64|*"-64 ") libmagic=64-bit;; 3286 + *) libmagic=never-match;; 3287 + esac 3288 + lt_cv_deplibs_check_method=pass_all 3289 + ;; 3290 + 3291 +# This must be glibc/ELF. 3292 +linux* | k*bsd*-gnu | kopensolaris*-gnu) 3293 + lt_cv_deplibs_check_method=pass_all 3294 + ;; 3295 + 3296 +netbsd*) 3297 + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3298 + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3299 + else 3300 + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 3301 + fi 3302 + ;; 3303 + 3304 +newos6*) 3305 + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 3306 + lt_cv_file_magic_cmd=/usr/bin/file 3307 + lt_cv_file_magic_test_file=/usr/lib/libnls.so 3308 + ;; 3309 + 3310 +*nto* | *qnx*) 3311 + lt_cv_deplibs_check_method=pass_all 3312 + ;; 3313 + 3314 +openbsd*) 3315 + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 3316 + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 3317 + else 3318 + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3319 + fi 3320 + ;; 3321 + 3322 +osf3* | osf4* | osf5*) 3323 + lt_cv_deplibs_check_method=pass_all 3324 + ;; 3325 + 3326 +rdos*) 3327 + lt_cv_deplibs_check_method=pass_all 3328 + ;; 3329 + 3330 +solaris*) 3331 + lt_cv_deplibs_check_method=pass_all 3332 + ;; 3333 + 3334 +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 3335 + lt_cv_deplibs_check_method=pass_all 3336 + ;; 3337 + 3338 +sysv4 | sysv4.3*) 3339 + case $host_vendor in 3340 + motorola) 3341 + 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]]' 3342 + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 3343 + ;; 3344 + ncr) 3345 + lt_cv_deplibs_check_method=pass_all 3346 + ;; 3347 + sequent) 3348 + lt_cv_file_magic_cmd='/bin/file' 3349 + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 3350 + ;; 3351 + sni) 3352 + lt_cv_file_magic_cmd='/bin/file' 3353 + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 3354 + lt_cv_file_magic_test_file=/lib/libc.so 3355 + ;; 3356 + siemens) 3357 + lt_cv_deplibs_check_method=pass_all 3358 + ;; 3359 + pc) 3360 + lt_cv_deplibs_check_method=pass_all 3361 + ;; 3362 + esac 3363 + ;; 3364 + 3365 +tpf*) 3366 + lt_cv_deplibs_check_method=pass_all 3367 + ;; 3368 +esac 3369 +]) 3370 + 3371 +file_magic_glob= 3372 +want_nocaseglob=no 3373 +if test "$build" = "$host"; then 3374 + case $host_os in 3375 + mingw* | pw32*) 3376 + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then 3377 + want_nocaseglob=yes 3378 + else 3379 + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` 3380 + fi 3381 + ;; 3382 + esac 3383 +fi 3384 + 3385 +file_magic_cmd=$lt_cv_file_magic_cmd 3386 +deplibs_check_method=$lt_cv_deplibs_check_method 3387 +test -z "$deplibs_check_method" && deplibs_check_method=unknown 3388 + 3389 +_LT_DECL([], [deplibs_check_method], [1], 3390 + [Method to check whether dependent libraries are shared objects]) 3391 +_LT_DECL([], [file_magic_cmd], [1], 3392 + [Command to use when deplibs_check_method = "file_magic"]) 3393 +_LT_DECL([], [file_magic_glob], [1], 3394 + [How to find potential files when deplibs_check_method = "file_magic"]) 3395 +_LT_DECL([], [want_nocaseglob], [1], 3396 + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) 3397 +])# _LT_CHECK_MAGIC_METHOD 3398 + 3399 + 3400 +# LT_PATH_NM 3401 +# ---------- 3402 +# find the pathname to a BSD- or MS-compatible name lister 3403 +AC_DEFUN([LT_PATH_NM], 3404 +[AC_REQUIRE([AC_PROG_CC])dnl 3405 +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 3406 +[if test -n "$NM"; then 3407 + # Let the user override the test. 3408 + lt_cv_path_NM="$NM" 3409 +else 3410 + lt_nm_to_check="${ac_tool_prefix}nm" 3411 + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 3412 + lt_nm_to_check="$lt_nm_to_check nm" 3413 + fi 3414 + for lt_tmp_nm in $lt_nm_to_check; do 3415 + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 3416 + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 3417 + IFS="$lt_save_ifs" 3418 + test -z "$ac_dir" && ac_dir=. 3419 + tmp_nm="$ac_dir/$lt_tmp_nm" 3420 + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then 3421 + # Check to see if the nm accepts a BSD-compat flag. 3422 + # Adding the `sed 1q' prevents false positives on HP-UX, which says: 3423 + # nm: unknown option "B" ignored 3424 + # Tru64's nm complains that /dev/null is an invalid object file 3425 + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in 3426 + */dev/null* | *'Invalid file or object type'*) 3427 + lt_cv_path_NM="$tmp_nm -B" 3428 + break 3429 + ;; 3430 + *) 3431 + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 3432 + */dev/null*) 3433 + lt_cv_path_NM="$tmp_nm -p" 3434 + break 3435 + ;; 3436 + *) 3437 + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 3438 + continue # so that we can try to find one that supports BSD flags 3439 + ;; 3440 + esac 3441 + ;; 3442 + esac 3443 + fi 3444 + done 3445 + IFS="$lt_save_ifs" 3446 + done 3447 + : ${lt_cv_path_NM=no} 3448 +fi]) 3449 +if test "$lt_cv_path_NM" != "no"; then 3450 + NM="$lt_cv_path_NM" 3451 +else 3452 + # Didn't find any BSD compatible name lister, look for dumpbin. 3453 + if test -n "$DUMPBIN"; then : 3454 + # Let the user override the test. 3455 + else 3456 + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) 3457 + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in 3458 + *COFF*) 3459 + DUMPBIN="$DUMPBIN -symbols" 3460 + ;; 3461 + *) 3462 + DUMPBIN=: 3463 + ;; 3464 + esac 3465 + fi 3466 + AC_SUBST([DUMPBIN]) 3467 + if test "$DUMPBIN" != ":"; then 3468 + NM="$DUMPBIN" 3469 + fi 3470 +fi 3471 +test -z "$NM" && NM=nm 3472 +AC_SUBST([NM]) 3473 +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 3474 + 3475 +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 3476 + [lt_cv_nm_interface="BSD nm" 3477 + echo "int some_variable = 0;" > conftest.$ac_ext 3478 + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 3479 + (eval "$ac_compile" 2>conftest.err) 3480 + cat conftest.err >&AS_MESSAGE_LOG_FD 3481 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 3482 + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 3483 + cat conftest.err >&AS_MESSAGE_LOG_FD 3484 + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) 3485 + cat conftest.out >&AS_MESSAGE_LOG_FD 3486 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then 3487 + lt_cv_nm_interface="MS dumpbin" 3488 + fi 3489 + rm -f conftest*]) 3490 +])# LT_PATH_NM 3491 + 3492 +# Old names: 3493 +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 3494 +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 3495 +dnl aclocal-1.4 backwards compatibility: 3496 +dnl AC_DEFUN([AM_PROG_NM], []) 3497 +dnl AC_DEFUN([AC_PROG_NM], []) 3498 + 3499 +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 3500 +# -------------------------------- 3501 +# how to determine the name of the shared library 3502 +# associated with a specific link library. 3503 +# -- PORTME fill in with the dynamic library characteristics 3504 +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], 3505 +[m4_require([_LT_DECL_EGREP]) 3506 +m4_require([_LT_DECL_OBJDUMP]) 3507 +m4_require([_LT_DECL_DLLTOOL]) 3508 +AC_CACHE_CHECK([how to associate runtime and link libraries], 3509 +lt_cv_sharedlib_from_linklib_cmd, 3510 +[lt_cv_sharedlib_from_linklib_cmd='unknown' 3511 + 3512 +case $host_os in 3513 +cygwin* | mingw* | pw32* | cegcc*) 3514 + # two different shell functions defined in ltmain.sh 3515 + # decide which to use based on capabilities of $DLLTOOL 3516 + case `$DLLTOOL --help 2>&1` in 3517 + *--identify-strict*) 3518 + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib 3519 + ;; 3520 + *) 3521 + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback 3522 + ;; 3523 + esac 3524 + ;; 3525 +*) 3526 + # fallback: assume linklib IS sharedlib 3527 + lt_cv_sharedlib_from_linklib_cmd="$ECHO" 3528 + ;; 3529 +esac 3530 +]) 3531 +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 3532 +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 3533 + 3534 +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], 3535 + [Command to associate shared and link libraries]) 3536 +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 3537 + 3538 + 3539 +# _LT_PATH_MANIFEST_TOOL 3540 +# ---------------------- 3541 +# locate the manifest tool 3542 +m4_defun([_LT_PATH_MANIFEST_TOOL], 3543 +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) 3544 +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt 3545 +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], 3546 + [lt_cv_path_mainfest_tool=no 3547 + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD 3548 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out 3549 + cat conftest.err >&AS_MESSAGE_LOG_FD 3550 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then 3551 + lt_cv_path_mainfest_tool=yes 3552 + fi 3553 + rm -f conftest*]) 3554 +if test "x$lt_cv_path_mainfest_tool" != xyes; then 3555 + MANIFEST_TOOL=: 3556 +fi 3557 +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl 3558 +])# _LT_PATH_MANIFEST_TOOL 3559 + 3560 + 3561 +# LT_LIB_M 3562 +# -------- 3563 +# check for math library 3564 +AC_DEFUN([LT_LIB_M], 3565 +[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3566 +LIBM= 3567 +case $host in 3568 +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) 3569 + # These system don't have libm, or don't need it 3570 + ;; 3571 +*-ncr-sysv4.3*) 3572 + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 3573 + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 3574 + ;; 3575 +*) 3576 + AC_CHECK_LIB(m, cos, LIBM="-lm") 3577 + ;; 3578 +esac 3579 +AC_SUBST([LIBM]) 3580 +])# LT_LIB_M 3581 + 3582 +# Old name: 3583 +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 3584 +dnl aclocal-1.4 backwards compatibility: 3585 +dnl AC_DEFUN([AC_CHECK_LIBM], []) 3586 + 3587 + 3588 +# _LT_COMPILER_NO_RTTI([TAGNAME]) 3589 +# ------------------------------- 3590 +m4_defun([_LT_COMPILER_NO_RTTI], 3591 +[m4_require([_LT_TAG_COMPILER])dnl 3592 + 3593 +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 3594 + 3595 +if test "$GCC" = yes; then 3596 + case $cc_basename in 3597 + nvcc*) 3598 + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; 3599 + *) 3600 + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; 3601 + esac 3602 + 3603 + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 3604 + lt_cv_prog_compiler_rtti_exceptions, 3605 + [-fno-rtti -fno-exceptions], [], 3606 + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 3607 +fi 3608 +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 3609 + [Compiler flag to turn off builtin functions]) 3610 +])# _LT_COMPILER_NO_RTTI 3611 + 3612 + 3613 +# _LT_CMD_GLOBAL_SYMBOLS 3614 +# ---------------------- 3615 +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], 3616 +[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3617 +AC_REQUIRE([AC_PROG_CC])dnl 3618 +AC_REQUIRE([AC_PROG_AWK])dnl 3619 +AC_REQUIRE([LT_PATH_NM])dnl 3620 +AC_REQUIRE([LT_PATH_LD])dnl 3621 +m4_require([_LT_DECL_SED])dnl 3622 +m4_require([_LT_DECL_EGREP])dnl 3623 +m4_require([_LT_TAG_COMPILER])dnl 3624 + 3625 +# Check for command to grab the raw symbol name followed by C symbol from nm. 3626 +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) 3627 +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 3628 +[ 3629 +# These are sane defaults that work on at least a few old systems. 3630 +# [They come from Ultrix. What could be older than Ultrix?!! ;)] 3631 + 3632 +# Character class describing NM global symbol codes. 3633 +symcode='[[BCDEGRST]]' 3634 + 3635 +# Regexp to match symbols that can be accessed directly from C. 3636 +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 3637 + 3638 +# Define system-specific variables. 3639 +case $host_os in 3640 +aix*) 3641 + symcode='[[BCDT]]' 3642 + ;; 3643 +cygwin* | mingw* | pw32* | cegcc*) 3644 + symcode='[[ABCDGISTW]]' 3645 + ;; 3646 +hpux*) 3647 + if test "$host_cpu" = ia64; then 3648 + symcode='[[ABCDEGRST]]' 3649 + fi 3650 + ;; 3651 +irix* | nonstopux*) 3652 + symcode='[[BCDEGRST]]' 3653 + ;; 3654 +osf*) 3655 + symcode='[[BCDEGQRST]]' 3656 + ;; 3657 +solaris*) 3658 + symcode='[[BDRT]]' 3659 + ;; 3660 +sco3.2v5*) 3661 + symcode='[[DT]]' 3662 + ;; 3663 +sysv4.2uw2*) 3664 + symcode='[[DT]]' 3665 + ;; 3666 +sysv5* | sco5v6* | unixware* | OpenUNIX*) 3667 + symcode='[[ABDT]]' 3668 + ;; 3669 +sysv4) 3670 + symcode='[[DFNSTU]]' 3671 + ;; 3672 +esac 3673 + 3674 +# If we're using GNU nm, then use its standard symbol codes. 3675 +case `$NM -V 2>&1` in 3676 +*GNU* | *'with BFD'*) 3677 + symcode='[[ABCDGIRSTW]]' ;; 3678 +esac 3679 + 3680 +# Transform an extracted symbol line into a proper C declaration. 3681 +# Some systems (esp. on ia64) link data and code symbols differently, 3682 +# so use this general approach. 3683 +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" 3684 + 3685 +# Transform an extracted symbol line into symbol name and symbol address 3686 +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" 3687 +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'" 3688 + 3689 +# Handle CRLF in mingw tool chain 3690 +opt_cr= 3691 +case $build_os in 3692 +mingw*) 3693 + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 3694 + ;; 3695 +esac 3696 + 3697 +# Try without a prefix underscore, then with it. 3698 +for ac_symprfx in "" "_"; do 3699 + 3700 + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 3701 + symxfrm="\\1 $ac_symprfx\\2 \\2" 3702 + 3703 + # Write the raw and C identifiers. 3704 + if test "$lt_cv_nm_interface" = "MS dumpbin"; then 3705 + # Fake it for dumpbin and say T for any non-static function 3706 + # and D for any global variable. 3707 + # Also find C++ and __fastcall symbols from MSVC++, 3708 + # which start with @ or ?. 3709 + lt_cv_sys_global_symbol_pipe="$AWK ['"\ 3710 +" {last_section=section; section=\$ 3};"\ 3711 +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ 3712 +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 3713 +" \$ 0!~/External *\|/{next};"\ 3714 +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 3715 +" {if(hide[section]) next};"\ 3716 +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ 3717 +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ 3718 +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ 3719 +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ 3720 +" ' prfx=^$ac_symprfx]" 3721 + else 3722 + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 3723 + fi 3724 + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" 3725 + 3726 + # Check to see that the pipe works correctly. 3727 + pipe_works=no 3728 + 3729 + rm -f conftest* 3730 + cat > conftest.$ac_ext <<_LT_EOF 3731 +#ifdef __cplusplus 3732 +extern "C" { 3733 +#endif 3734 +char nm_test_var; 3735 +void nm_test_func(void); 3736 +void nm_test_func(void){} 3737 +#ifdef __cplusplus 3738 +} 3739 +#endif 3740 +int main(){nm_test_var='a';nm_test_func();return(0);} 3741 +_LT_EOF 3742 + 3743 + if AC_TRY_EVAL(ac_compile); then 3744 + # Now try to grab the symbols. 3745 + nlist=conftest.nm 3746 + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then 3747 + # Try sorting and uniquifying the output. 3748 + if sort "$nlist" | uniq > "$nlist"T; then 3749 + mv -f "$nlist"T "$nlist" 3750 + else 3751 + rm -f "$nlist"T 3752 + fi 3753 + 3754 + # Make sure that we snagged all the symbols we need. 3755 + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 3756 + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 3757 + cat <<_LT_EOF > conftest.$ac_ext 3758 +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 3759 +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) 3760 +/* DATA imports from DLLs on WIN32 con't be const, because runtime 3761 + relocations are performed -- see ld's documentation on pseudo-relocs. */ 3762 +# define LT@&t@_DLSYM_CONST 3763 +#elif defined(__osf__) 3764 +/* This system does not cope well with relocations in const data. */ 3765 +# define LT@&t@_DLSYM_CONST 3766 +#else 3767 +# define LT@&t@_DLSYM_CONST const 3768 +#endif 3769 + 3770 +#ifdef __cplusplus 3771 +extern "C" { 3772 +#endif 3773 + 3774 +_LT_EOF 3775 + # Now generate the symbol file. 3776 + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 3777 + 3778 + cat <<_LT_EOF >> conftest.$ac_ext 3779 + 3780 +/* The mapping between symbol names and symbols. */ 3781 +LT@&t@_DLSYM_CONST struct { 3782 + const char *name; 3783 + void *address; 3784 +} 3785 +lt__PROGRAM__LTX_preloaded_symbols[[]] = 3786 +{ 3787 + { "@PROGRAM@", (void *) 0 }, 3788 +_LT_EOF 3789 + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 3790 + cat <<\_LT_EOF >> conftest.$ac_ext 3791 + {0, (void *) 0} 3792 +}; 3793 + 3794 +/* This works around a problem in FreeBSD linker */ 3795 +#ifdef FREEBSD_WORKAROUND 3796 +static const void *lt_preloaded_setup() { 3797 + return lt__PROGRAM__LTX_preloaded_symbols; 3798 +} 3799 +#endif 3800 + 3801 +#ifdef __cplusplus 3802 +} 3803 +#endif 3804 +_LT_EOF 3805 + # Now try linking the two files. 3806 + mv conftest.$ac_objext conftstm.$ac_objext 3807 + lt_globsym_save_LIBS=$LIBS 3808 + lt_globsym_save_CFLAGS=$CFLAGS 3809 + LIBS="conftstm.$ac_objext" 3810 + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 3811 + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then 3812 + pipe_works=yes 3813 + fi 3814 + LIBS=$lt_globsym_save_LIBS 3815 + CFLAGS=$lt_globsym_save_CFLAGS 3816 + else 3817 + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 3818 + fi 3819 + else 3820 + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 3821 + fi 3822 + else 3823 + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 3824 + fi 3825 + else 3826 + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 3827 + cat conftest.$ac_ext >&5 3828 + fi 3829 + rm -rf conftest* conftst* 3830 + 3831 + # Do not use the global_symbol_pipe unless it works. 3832 + if test "$pipe_works" = yes; then 3833 + break 3834 + else 3835 + lt_cv_sys_global_symbol_pipe= 3836 + fi 3837 +done 3838 +]) 3839 +if test -z "$lt_cv_sys_global_symbol_pipe"; then 3840 + lt_cv_sys_global_symbol_to_cdecl= 3841 +fi 3842 +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 3843 + AC_MSG_RESULT(failed) 3844 +else 3845 + AC_MSG_RESULT(ok) 3846 +fi 3847 + 3848 +# Response file support. 3849 +if test "$lt_cv_nm_interface" = "MS dumpbin"; then 3850 + nm_file_list_spec='@' 3851 +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then 3852 + nm_file_list_spec='@' 3853 +fi 3854 + 3855 +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 3856 + [Take the output of nm and produce a listing of raw symbols and C names]) 3857 +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 3858 + [Transform the output of nm in a proper C declaration]) 3859 +_LT_DECL([global_symbol_to_c_name_address], 3860 + [lt_cv_sys_global_symbol_to_c_name_address], [1], 3861 + [Transform the output of nm in a C name address pair]) 3862 +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 3863 + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 3864 + [Transform the output of nm in a C name address pair when lib prefix is needed]) 3865 +_LT_DECL([], [nm_file_list_spec], [1], 3866 + [Specify filename containing input files for $NM]) 3867 +]) # _LT_CMD_GLOBAL_SYMBOLS 3868 + 3869 + 3870 +# _LT_COMPILER_PIC([TAGNAME]) 3871 +# --------------------------- 3872 +m4_defun([_LT_COMPILER_PIC], 3873 +[m4_require([_LT_TAG_COMPILER])dnl 3874 +_LT_TAGVAR(lt_prog_compiler_wl, $1)= 3875 +_LT_TAGVAR(lt_prog_compiler_pic, $1)= 3876 +_LT_TAGVAR(lt_prog_compiler_static, $1)= 3877 + 3878 +m4_if([$1], [CXX], [ 3879 + # C++ specific cases for pic, static, wl, etc. 3880 + if test "$GXX" = yes; then 3881 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3882 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3883 + 3884 + case $host_os in 3885 + aix*) 3886 + # All AIX code is PIC. 3887 + if test "$host_cpu" = ia64; then 3888 + # AIX 5 now supports IA64 processor 3889 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3890 + fi 3891 + ;; 3892 + 3893 + amigaos*) 3894 + case $host_cpu in 3895 + powerpc) 3896 + # see comment about AmigaOS4 .so support 3897 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3898 + ;; 3899 + m68k) 3900 + # FIXME: we need at least 68020 code to build shared libraries, but 3901 + # adding the `-m68020' flag to GCC prevents building anything better, 3902 + # like `-m68040'. 3903 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 3904 + ;; 3905 + esac 3906 + ;; 3907 + 3908 + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 3909 + # PIC is the default for these OSes. 3910 + ;; 3911 + mingw* | cygwin* | os2* | pw32* | cegcc*) 3912 + # This hack is so that the source file can tell whether it is being 3913 + # built for inclusion in a dll (and should export symbols for example). 3914 + # Although the cygwin gcc ignores -fPIC, still need this for old-style 3915 + # (--disable-auto-import) libraries 3916 + m4_if([$1], [GCJ], [], 3917 + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 3918 + ;; 3919 + darwin* | rhapsody*) 3920 + # PIC is the default on this platform 3921 + # Common symbols not allowed in MH_DYLIB files 3922 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 3923 + ;; 3924 + *djgpp*) 3925 + # DJGPP does not support shared libraries at all 3926 + _LT_TAGVAR(lt_prog_compiler_pic, $1)= 3927 + ;; 3928 + haiku*) 3929 + # PIC is the default for Haiku. 3930 + # The "-static" flag exists, but is broken. 3931 + _LT_TAGVAR(lt_prog_compiler_static, $1)= 3932 + ;; 3933 + interix[[3-9]]*) 3934 + # Interix 3.x gcc -fpic/-fPIC options generate broken code. 3935 + # Instead, we relocate shared libraries at runtime. 3936 + ;; 3937 + sysv4*MP*) 3938 + if test -d /usr/nec; then 3939 + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 3940 + fi 3941 + ;; 3942 + hpux*) 3943 + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 3944 + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 3945 + # sets the default TLS model and affects inlining. 3946 + case $host_cpu in 3947 + hppa*64*) 3948 + ;; 3949 + *) 3950 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3951 + ;; 3952 + esac 3953 + ;; 3954 + *qnx* | *nto*) 3955 + # QNX uses GNU C++, but need to define -shared option too, otherwise 3956 + # it will coredump. 3957 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 3958 + ;; 3959 + *) 3960 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3961 + ;; 3962 + esac 3963 + else 3964 + case $host_os in 3965 + aix[[4-9]]*) 3966 + # All AIX code is PIC. 3967 + if test "$host_cpu" = ia64; then 3968 + # AIX 5 now supports IA64 processor 3969 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3970 + else 3971 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 3972 + fi 3973 + ;; 3974 + chorus*) 3975 + case $cc_basename in 3976 + cxch68*) 3977 + # Green Hills C++ Compiler 3978 + # _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" 3979 + ;; 3980 + esac 3981 + ;; 3982 + mingw* | cygwin* | os2* | pw32* | cegcc*) 3983 + # This hack is so that the source file can tell whether it is being 3984 + # built for inclusion in a dll (and should export symbols for example). 3985 + m4_if([$1], [GCJ], [], 3986 + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 3987 + ;; 3988 + dgux*) 3989 + case $cc_basename in 3990 + ec++*) 3991 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3992 + ;; 3993 + ghcx*) 3994 + # Green Hills C++ Compiler 3995 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3996 + ;; 3997 + *) 3998 + ;; 3999 + esac 4000 + ;; 4001 + freebsd* | dragonfly*) 4002 + # FreeBSD uses GNU C++ 4003 + ;; 4004 + hpux9* | hpux10* | hpux11*) 4005 + case $cc_basename in 4006 + CC*) 4007 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4008 + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 4009 + if test "$host_cpu" != ia64; then 4010 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4011 + fi 4012 + ;; 4013 + aCC*) 4014 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4015 + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 4016 + case $host_cpu in 4017 + hppa*64*|ia64*) 4018 + # +Z the default 4019 + ;; 4020 + *) 4021 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4022 + ;; 4023 + esac 4024 + ;; 4025 + *) 4026 + ;; 4027 + esac 4028 + ;; 4029 + interix*) 4030 + # This is c89, which is MS Visual C++ (no shared libs) 4031 + # Anyone wants to do a port? 4032 + ;; 4033 + irix5* | irix6* | nonstopux*) 4034 + case $cc_basename in 4035 + CC*) 4036 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4037 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4038 + # CC pic flag -KPIC is the default. 4039 + ;; 4040 + *) 4041 + ;; 4042 + esac 4043 + ;; 4044 + linux* | k*bsd*-gnu | kopensolaris*-gnu) 4045 + case $cc_basename in 4046 + KCC*) 4047 + # KAI C++ Compiler 4048 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 4049 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4050 + ;; 4051 + ecpc* ) 4052 + # old Intel C++ for x86_64 which still supported -KPIC. 4053 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4054 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4055 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4056 + ;; 4057 + icpc* ) 4058 + # Intel C++, used to be incompatible with GCC. 4059 + # ICC 10 doesn't accept -KPIC any more. 4060 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4061 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4062 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4063 + ;; 4064 + pgCC* | pgcpp*) 4065 + # Portland Group C++ compiler 4066 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4067 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4068 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4069 + ;; 4070 + cxx*) 4071 + # Compaq C++ 4072 + # Make sure the PIC flag is empty. It appears that all Alpha 4073 + # Linux and Compaq Tru64 Unix objects are PIC. 4074 + _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4075 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4076 + ;; 4077 + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) 4078 + # IBM XL 8.0, 9.0 on PPC and BlueGene 4079 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4080 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4081 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4082 + ;; 4083 + *) 4084 + case `$CC -V 2>&1 | sed 5q` in 4085 + *Sun\ C*) 4086 + # Sun C++ 5.9 4087 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4088 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4089 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4090 + ;; 4091 + esac 4092 + ;; 4093 + esac 4094 + ;; 4095 + lynxos*) 4096 + ;; 4097 + m88k*) 4098 + ;; 4099 + mvs*) 4100 + case $cc_basename in 4101 + cxx*) 4102 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 4103 + ;; 4104 + *) 4105 + ;; 4106 + esac 4107 + ;; 4108 + netbsd*) 4109 + ;; 4110 + *qnx* | *nto*) 4111 + # QNX uses GNU C++, but need to define -shared option too, otherwise 4112 + # it will coredump. 4113 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4114 + ;; 4115 + osf3* | osf4* | osf5*) 4116 + case $cc_basename in 4117 + KCC*) 4118 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 4119 + ;; 4120 + RCC*) 4121 + # Rational C++ 2.4.1 4122 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4123 + ;; 4124 + cxx*) 4125 + # Digital/Compaq C++ 4126 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4127 + # Make sure the PIC flag is empty. It appears that all Alpha 4128 + # Linux and Compaq Tru64 Unix objects are PIC. 4129 + _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4130 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4131 + ;; 4132 + *) 4133 + ;; 4134 + esac 4135 + ;; 4136 + psos*) 4137 + ;; 4138 + solaris*) 4139 + case $cc_basename in 4140 + CC* | sunCC*) 4141 + # Sun C++ 4.2, 5.x and Centerline C++ 4142 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4143 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4144 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4145 + ;; 4146 + gcx*) 4147 + # Green Hills C++ Compiler 4148 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4149 + ;; 4150 + *) 4151 + ;; 4152 + esac 4153 + ;; 4154 + sunos4*) 4155 + case $cc_basename in 4156 + CC*) 4157 + # Sun C++ 4.x 4158 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4159 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4160 + ;; 4161 + lcc*) 4162 + # Lucid 4163 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4164 + ;; 4165 + *) 4166 + ;; 4167 + esac 4168 + ;; 4169 + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 4170 + case $cc_basename in 4171 + CC*) 4172 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4173 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4174 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4175 + ;; 4176 + esac 4177 + ;; 4178 + tandem*) 4179 + case $cc_basename in 4180 + NCC*) 4181 + # NonStop-UX NCC 3.20 4182 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4183 + ;; 4184 + *) 4185 + ;; 4186 + esac 4187 + ;; 4188 + vxworks*) 4189 + ;; 4190 + *) 4191 + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4192 + ;; 4193 + esac 4194 + fi 4195 +], 4196 +[ 4197 + if test "$GCC" = yes; then 4198 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4199 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4200 + 4201 + case $host_os in 4202 + aix*) 4203 + # All AIX code is PIC. 4204 + if test "$host_cpu" = ia64; then 4205 + # AIX 5 now supports IA64 processor 4206 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4207 + fi 4208 + ;; 4209 + 4210 + amigaos*) 4211 + case $host_cpu in 4212 + powerpc) 4213 + # see comment about AmigaOS4 .so support 4214 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4215 + ;; 4216 + m68k) 4217 + # FIXME: we need at least 68020 code to build shared libraries, but 4218 + # adding the `-m68020' flag to GCC prevents building anything better, 4219 + # like `-m68040'. 4220 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 4221 + ;; 4222 + esac 4223 + ;; 4224 + 4225 + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 4226 + # PIC is the default for these OSes. 4227 + ;; 4228 + 4229 + mingw* | cygwin* | pw32* | os2* | cegcc*) 4230 + # This hack is so that the source file can tell whether it is being 4231 + # built for inclusion in a dll (and should export symbols for example). 4232 + # Although the cygwin gcc ignores -fPIC, still need this for old-style 4233 + # (--disable-auto-import) libraries 4234 + m4_if([$1], [GCJ], [], 4235 + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4236 + ;; 4237 + 4238 + darwin* | rhapsody*) 4239 + # PIC is the default on this platform 4240 + # Common symbols not allowed in MH_DYLIB files 4241 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4242 + ;; 4243 + 4244 + haiku*) 4245 + # PIC is the default for Haiku. 4246 + # The "-static" flag exists, but is broken. 4247 + _LT_TAGVAR(lt_prog_compiler_static, $1)= 4248 + ;; 4249 + 4250 + hpux*) 4251 + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 4252 + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 4253 + # sets the default TLS model and affects inlining. 4254 + case $host_cpu in 4255 + hppa*64*) 4256 + # +Z the default 4257 + ;; 4258 + *) 4259 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4260 + ;; 4261 + esac 4262 + ;; 4263 + 4264 + interix[[3-9]]*) 4265 + # Interix 3.x gcc -fpic/-fPIC options generate broken code. 4266 + # Instead, we relocate shared libraries at runtime. 4267 + ;; 4268 + 4269 + msdosdjgpp*) 4270 + # Just because we use GCC doesn't mean we suddenly get shared libraries 4271 + # on systems that don't support them. 4272 + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4273 + enable_shared=no 4274 + ;; 4275 + 4276 + *nto* | *qnx*) 4277 + # QNX uses GNU C++, but need to define -shared option too, otherwise 4278 + # it will coredump. 4279 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4280 + ;; 4281 + 4282 + sysv4*MP*) 4283 + if test -d /usr/nec; then 4284 + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 4285 + fi 4286 + ;; 4287 + 4288 + *) 4289 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4290 + ;; 4291 + esac 4292 + 4293 + case $cc_basename in 4294 + nvcc*) # Cuda Compiler Driver 2.2 4295 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' 4296 + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 4297 + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" 4298 + fi 4299 + ;; 4300 + esac 4301 + else 4302 + # PORTME Check for flag to pass linker flags through the system compiler. 4303 + case $host_os in 4304 + aix*) 4305 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4306 + if test "$host_cpu" = ia64; then 4307 + # AIX 5 now supports IA64 processor 4308 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4309 + else 4310 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 4311 + fi 4312 + ;; 4313 + 4314 + mingw* | cygwin* | pw32* | os2* | cegcc*) 4315 + # This hack is so that the source file can tell whether it is being 4316 + # built for inclusion in a dll (and should export symbols for example). 4317 + m4_if([$1], [GCJ], [], 4318 + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4319 + ;; 4320 + 4321 + hpux9* | hpux10* | hpux11*) 4322 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4323 + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 4324 + # not for PA HP-UX. 4325 + case $host_cpu in 4326 + hppa*64*|ia64*) 4327 + # +Z the default 4328 + ;; 4329 + *) 4330 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4331 + ;; 4332 + esac 4333 + # Is there a better lt_prog_compiler_static that works with the bundled CC? 4334 + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 4335 + ;; 4336 + 4337 + irix5* | irix6* | nonstopux*) 4338 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4339 + # PIC (with -KPIC) is the default. 4340 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4341 + ;; 4342 + 4343 + linux* | k*bsd*-gnu | kopensolaris*-gnu) 4344 + case $cc_basename in 4345 + # old Intel for x86_64 which still supported -KPIC. 4346 + ecc*) 4347 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4348 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4349 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4350 + ;; 4351 + # icc used to be incompatible with GCC. 4352 + # ICC 10 doesn't accept -KPIC any more. 4353 + icc* | ifort*) 4354 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4355 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4356 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4357 + ;; 4358 + # Lahey Fortran 8.1. 4359 + lf95*) 4360 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4361 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 4362 + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 4363 + ;; 4364 + nagfor*) 4365 + # NAG Fortran compiler 4366 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 4367 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4368 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4369 + ;; 4370 + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) 4371 + # Portland Group compilers (*not* the Pentium gcc compiler, 4372 + # which looks to be a dead project) 4373 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4374 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4375 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4376 + ;; 4377 + ccc*) 4378 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4379 + # All Alpha code is PIC. 4380 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4381 + ;; 4382 + xl* | bgxl* | bgf* | mpixl*) 4383 + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene 4384 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4385 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4386 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4387 + ;; 4388 + *) 4389 + case `$CC -V 2>&1 | sed 5q` in 4390 + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) 4391 + # Sun Fortran 8.3 passes all unrecognized flags to the linker 4392 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4393 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4394 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 4395 + ;; 4396 + *Sun\ F* | *Sun*Fortran*) 4397 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4398 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4399 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4400 + ;; 4401 + *Sun\ C*) 4402 + # Sun C 5.9 4403 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4404 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4405 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4406 + ;; 4407 + *Intel*\ [[CF]]*Compiler*) 4408 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4409 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4410 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4411 + ;; 4412 + *Portland\ Group*) 4413 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4414 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4415 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4416 + ;; 4417 + esac 4418 + ;; 4419 + esac 4420 + ;; 4421 + 4422 + newsos6) 4423 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4424 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4425 + ;; 4426 + 4427 + *nto* | *qnx*) 4428 + # QNX uses GNU C++, but need to define -shared option too, otherwise 4429 + # it will coredump. 4430 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4431 + ;; 4432 + 4433 + osf3* | osf4* | osf5*) 4434 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4435 + # All OSF/1 code is PIC. 4436 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4437 + ;; 4438 + 4439 + rdos*) 4440 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4441 + ;; 4442 + 4443 + solaris*) 4444 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4445 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4446 + case $cc_basename in 4447 + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 4448 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 4449 + *) 4450 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 4451 + esac 4452 + ;; 4453 + 4454 + sunos4*) 4455 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4456 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4457 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4458 + ;; 4459 + 4460 + sysv4 | sysv4.2uw2* | sysv4.3*) 4461 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4462 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4463 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4464 + ;; 4465 + 4466 + sysv4*MP*) 4467 + if test -d /usr/nec ;then 4468 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 4469 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4470 + fi 4471 + ;; 4472 + 4473 + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 4474 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4475 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4476 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4477 + ;; 4478 + 4479 + unicos*) 4480 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4481 + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4482 + ;; 4483 + 4484 + uts4*) 4485 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4486 + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4487 + ;; 4488 + 4489 + *) 4490 + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4491 + ;; 4492 + esac 4493 + fi 4494 +]) 4495 +case $host_os in 4496 + # For platforms which do not support PIC, -DPIC is meaningless: 4497 + *djgpp*) 4498 + _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4499 + ;; 4500 + *) 4501 + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 4502 + ;; 4503 +esac 4504 + 4505 +AC_CACHE_CHECK([for $compiler option to produce PIC], 4506 + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], 4507 + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 4508 +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) 4509 + 4510 +# 4511 +# Check to make sure the PIC flag actually works. 4512 +# 4513 +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 4514 + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 4515 + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 4516 + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 4517 + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 4518 + "" | " "*) ;; 4519 + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 4520 + esac], 4521 + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 4522 + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 4523 +fi 4524 +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 4525 + [Additional compiler flags for building library objects]) 4526 + 4527 +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 4528 + [How to pass a linker flag through the compiler]) 4529 +# 4530 +# Check to make sure the static flag actually works. 4531 +# 4532 +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 4533 +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 4534 + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 4535 + $lt_tmp_static_flag, 4536 + [], 4537 + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 4538 +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 4539 + [Compiler flag to prevent dynamic linking]) 4540 +])# _LT_COMPILER_PIC 4541 + 4542 + 4543 +# _LT_LINKER_SHLIBS([TAGNAME]) 4544 +# ---------------------------- 4545 +# See if the linker supports building shared libraries. 4546 +m4_defun([_LT_LINKER_SHLIBS], 4547 +[AC_REQUIRE([LT_PATH_LD])dnl 4548 +AC_REQUIRE([LT_PATH_NM])dnl 4549 +m4_require([_LT_PATH_MANIFEST_TOOL])dnl 4550 +m4_require([_LT_FILEUTILS_DEFAULTS])dnl 4551 +m4_require([_LT_DECL_EGREP])dnl 4552 +m4_require([_LT_DECL_SED])dnl 4553 +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 4554 +m4_require([_LT_TAG_COMPILER])dnl 4555 +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 4556 +m4_if([$1], [CXX], [ 4557 + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4558 + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 4559 + case $host_os in 4560 + aix[[4-9]]*) 4561 + # If we're using GNU nm, then we don't want the "-C" option. 4562 + # -C means demangle to AIX nm, but means don't demangle with GNU nm 4563 + # Also, AIX nm treats weak defined symbols like other global defined 4564 + # symbols, whereas GNU nm marks them as "W". 4565 + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4566 + _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' 4567 + else 4568 + _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' 4569 + fi 4570 + ;; 4571 + pw32*) 4572 + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" 4573 + ;; 4574 + cygwin* | mingw* | cegcc*) 4575 + case $cc_basename in 4576 + cl*) 4577 + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 4578 + ;; 4579 + *) 4580 + _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' 4581 + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 4582 + ;; 4583 + esac 4584 + ;; 4585 + *) 4586 + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4587 + ;; 4588 + esac 4589 +], [ 4590 + runpath_var= 4591 + _LT_TAGVAR(allow_undefined_flag, $1)= 4592 + _LT_TAGVAR(always_export_symbols, $1)=no 4593 + _LT_TAGVAR(archive_cmds, $1)= 4594 + _LT_TAGVAR(archive_expsym_cmds, $1)= 4595 + _LT_TAGVAR(compiler_needs_object, $1)=no 4596 + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 4597 + _LT_TAGVAR(export_dynamic_flag_spec, $1)= 4598 + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4599 + _LT_TAGVAR(hardcode_automatic, $1)=no 4600 + _LT_TAGVAR(hardcode_direct, $1)=no 4601 + _LT_TAGVAR(hardcode_direct_absolute, $1)=no 4602 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4603 + _LT_TAGVAR(hardcode_libdir_separator, $1)= 4604 + _LT_TAGVAR(hardcode_minus_L, $1)=no 4605 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 4606 + _LT_TAGVAR(inherit_rpath, $1)=no 4607 + _LT_TAGVAR(link_all_deplibs, $1)=unknown 4608 + _LT_TAGVAR(module_cmds, $1)= 4609 + _LT_TAGVAR(module_expsym_cmds, $1)= 4610 + _LT_TAGVAR(old_archive_from_new_cmds, $1)= 4611 + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 4612 + _LT_TAGVAR(thread_safe_flag_spec, $1)= 4613 + _LT_TAGVAR(whole_archive_flag_spec, $1)= 4614 + # include_expsyms should be a list of space-separated symbols to be *always* 4615 + # included in the symbol list 4616 + _LT_TAGVAR(include_expsyms, $1)= 4617 + # exclude_expsyms can be an extended regexp of symbols to exclude 4618 + # it will be wrapped by ` (' and `)$', so one must not match beginning or 4619 + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', 4620 + # as well as any symbol that contains `d'. 4621 + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 4622 + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 4623 + # platforms (ab)use it in PIC code, but their linkers get confused if 4624 + # the symbol is explicitly referenced. Since portable code cannot 4625 + # rely on this symbol name, it's probably fine to never include it in 4626 + # preloaded symbol tables. 4627 + # Exclude shared library initialization/finalization symbols. 4628 +dnl Note also adjust exclude_expsyms for C++ above. 4629 + extract_expsyms_cmds= 4630 + 4631 + case $host_os in 4632 + cygwin* | mingw* | pw32* | cegcc*) 4633 + # FIXME: the MSVC++ port hasn't been tested in a loooong time 4634 + # When not using gcc, we currently assume that we are using 4635 + # Microsoft Visual C++. 4636 + if test "$GCC" != yes; then 4637 + with_gnu_ld=no 4638 + fi 4639 + ;; 4640 + interix*) 4641 + # we just hope/assume this is gcc and not c89 (= MSVC++) 4642 + with_gnu_ld=yes 4643 + ;; 4644 + openbsd*) 4645 + with_gnu_ld=no 4646 + ;; 4647 + esac 4648 + 4649 + _LT_TAGVAR(ld_shlibs, $1)=yes 4650 + 4651 + # On some targets, GNU ld is compatible enough with the native linker 4652 + # that we're better off using the native interface for both. 4653 + lt_use_gnu_ld_interface=no 4654 + if test "$with_gnu_ld" = yes; then 4655 + case $host_os in 4656 + aix*) 4657 + # The AIX port of GNU ld has always aspired to compatibility 4658 + # with the native linker. However, as the warning in the GNU ld 4659 + # block says, versions before 2.19.5* couldn't really create working 4660 + # shared libraries, regardless of the interface used. 4661 + case `$LD -v 2>&1` in 4662 + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 4663 + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; 4664 + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; 4665 + *) 4666 + lt_use_gnu_ld_interface=yes 4667 + ;; 4668 + esac 4669 + ;; 4670 + *) 4671 + lt_use_gnu_ld_interface=yes 4672 + ;; 4673 + esac 4674 + fi 4675 + 4676 + if test "$lt_use_gnu_ld_interface" = yes; then 4677 + # If archive_cmds runs LD, not CC, wlarc should be empty 4678 + wlarc='${wl}' 4679 + 4680 + # Set some defaults for GNU ld with shared library support. These 4681 + # are reset later if shared libraries are not supported. Putting them 4682 + # here allows them to be overridden if necessary. 4683 + runpath_var=LD_RUN_PATH 4684 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4685 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 4686 + # ancient GNU ld didn't support --whole-archive et. al. 4687 + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 4688 + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 4689 + else 4690 + _LT_TAGVAR(whole_archive_flag_spec, $1)= 4691 + fi 4692 + supports_anon_versioning=no 4693 + case `$LD -v 2>&1` in 4694 + *GNU\ gold*) supports_anon_versioning=yes ;; 4695 + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 4696 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 4697 + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 4698 + *\ 2.11.*) ;; # other 2.11 versions 4699 + *) supports_anon_versioning=yes ;; 4700 + esac 4701 + 4702 + # See if GNU ld supports shared libraries. 4703 + case $host_os in 4704 + aix[[3-9]]*) 4705 + # On AIX/PPC, the GNU linker is very broken 4706 + if test "$host_cpu" != ia64; then 4707 + _LT_TAGVAR(ld_shlibs, $1)=no 4708 + cat <<_LT_EOF 1>&2 4709 + 4710 +*** Warning: the GNU linker, at least up to release 2.19, is reported 4711 +*** to be unable to reliably create shared libraries on AIX. 4712 +*** Therefore, libtool is disabling shared libraries support. If you 4713 +*** really care for shared libraries, you may want to install binutils 4714 +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. 4715 +*** You will then need to restart the configuration process. 4716 + 4717 +_LT_EOF 4718 + fi 4719 + ;; 4720 + 4721 + amigaos*) 4722 + case $host_cpu in 4723 + powerpc) 4724 + # see comment about AmigaOS4 .so support 4725 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4726 + _LT_TAGVAR(archive_expsym_cmds, $1)='' 4727 + ;; 4728 + m68k) 4729 + _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)' 4730 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4731 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 4732 + ;; 4733 + esac 4734 + ;; 4735 + 4736 + beos*) 4737 + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4738 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4739 + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 4740 + # support --undefined. This deserves some investigation. FIXME 4741 + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4742 + else 4743 + _LT_TAGVAR(ld_shlibs, $1)=no 4744 + fi 4745 + ;; 4746 + 4747 + cygwin* | mingw* | pw32* | cegcc*) 4748 + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 4749 + # as there is no search path for DLLs. 4750 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4751 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' 4752 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4753 + _LT_TAGVAR(always_export_symbols, $1)=no 4754 + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 4755 + _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' 4756 + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 4757 + 4758 + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 4759 + _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' 4760 + # If the export-symbols file already is a .def file (1st line 4761 + # is EXPORTS), use it as is; otherwise, prepend... 4762 + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 4763 + cp $export_symbols $output_objdir/$soname.def; 4764 + else 4765 + echo EXPORTS > $output_objdir/$soname.def; 4766 + cat $export_symbols >> $output_objdir/$soname.def; 4767 + fi~ 4768 + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 4769 + else 4770 + _LT_TAGVAR(ld_shlibs, $1)=no 4771 + fi 4772 + ;; 4773 + 4774 + haiku*) 4775 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4776 + _LT_TAGVAR(link_all_deplibs, $1)=yes 4777 + ;; 4778 + 4779 + interix[[3-9]]*) 4780 + _LT_TAGVAR(hardcode_direct, $1)=no 4781 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4782 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4783 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4784 + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 4785 + # Instead, shared libraries are loaded at an image base (0x10000000 by 4786 + # default) and relocated if they conflict, which is a slow very memory 4787 + # consuming and fragmenting process. To avoid this, we pick a random, 4788 + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 4789 + # time. Moving up from 0x10000000 also allows more sbrk(2) space. 4790 + _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' 4791 + _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' 4792 + ;; 4793 + 4794 + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 4795 + tmp_diet=no 4796 + if test "$host_os" = linux-dietlibc; then 4797 + case $cc_basename in 4798 + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 4799 + esac 4800 + fi 4801 + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 4802 + && test "$tmp_diet" = no 4803 + then 4804 + tmp_addflag=' $pic_flag' 4805 + tmp_sharedflag='-shared' 4806 + case $cc_basename,$host_cpu in 4807 + pgcc*) # Portland Group C compiler 4808 + _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' 4809 + tmp_addflag=' $pic_flag' 4810 + ;; 4811 + pgf77* | pgf90* | pgf95* | pgfortran*) 4812 + # Portland Group f77 and f90 compilers 4813 + _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' 4814 + tmp_addflag=' $pic_flag -Mnomain' ;; 4815 + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 4816 + tmp_addflag=' -i_dynamic' ;; 4817 + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 4818 + tmp_addflag=' -i_dynamic -nofor_main' ;; 4819 + ifc* | ifort*) # Intel Fortran compiler 4820 + tmp_addflag=' -nofor_main' ;; 4821 + lf95*) # Lahey Fortran 8.1 4822 + _LT_TAGVAR(whole_archive_flag_spec, $1)= 4823 + tmp_sharedflag='--shared' ;; 4824 + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 4825 + tmp_sharedflag='-qmkshrobj' 4826 + tmp_addflag= ;; 4827 + nvcc*) # Cuda Compiler Driver 2.2 4828 + _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' 4829 + _LT_TAGVAR(compiler_needs_object, $1)=yes 4830 + ;; 4831 + esac 4832 + case `$CC -V 2>&1 | sed 5q` in 4833 + *Sun\ C*) # Sun C 5.9 4834 + _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' 4835 + _LT_TAGVAR(compiler_needs_object, $1)=yes 4836 + tmp_sharedflag='-G' ;; 4837 + *Sun\ F*) # Sun Fortran 8.3 4838 + tmp_sharedflag='-G' ;; 4839 + esac 4840 + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4841 + 4842 + if test "x$supports_anon_versioning" = xyes; then 4843 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 4844 + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 4845 + echo "local: *; };" >> $output_objdir/$libname.ver~ 4846 + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 4847 + fi 4848 + 4849 + case $cc_basename in 4850 + xlf* | bgf* | bgxlf* | mpixlf*) 4851 + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 4852 + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 4853 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4854 + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 4855 + if test "x$supports_anon_versioning" = xyes; then 4856 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 4857 + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 4858 + echo "local: *; };" >> $output_objdir/$libname.ver~ 4859 + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 4860 + fi 4861 + ;; 4862 + esac 4863 + else 4864 + _LT_TAGVAR(ld_shlibs, $1)=no 4865 + fi 4866 + ;; 4867 + 4868 + netbsd*) 4869 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 4870 + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 4871 + wlarc= 4872 + else 4873 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4874 + _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' 4875 + fi 4876 + ;; 4877 + 4878 + solaris*) 4879 + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 4880 + _LT_TAGVAR(ld_shlibs, $1)=no 4881 + cat <<_LT_EOF 1>&2 4882 + 4883 +*** Warning: The releases 2.8.* of the GNU linker cannot reliably 4884 +*** create shared libraries on Solaris systems. Therefore, libtool 4885 +*** is disabling shared libraries support. We urge you to upgrade GNU 4886 +*** binutils to release 2.9.1 or newer. Another option is to modify 4887 +*** your PATH or compiler configuration so that the native linker is 4888 +*** used, and then restart. 4889 + 4890 +_LT_EOF 4891 + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4892 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4893 + _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' 4894 + else 4895 + _LT_TAGVAR(ld_shlibs, $1)=no 4896 + fi 4897 + ;; 4898 + 4899 + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 4900 + case `$LD -v 2>&1` in 4901 + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 4902 + _LT_TAGVAR(ld_shlibs, $1)=no 4903 + cat <<_LT_EOF 1>&2 4904 + 4905 +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not 4906 +*** reliably create shared libraries on SCO systems. Therefore, libtool 4907 +*** is disabling shared libraries support. We urge you to upgrade GNU 4908 +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 4909 +*** your PATH or compiler configuration so that the native linker is 4910 +*** used, and then restart. 4911 + 4912 +_LT_EOF 4913 + ;; 4914 + *) 4915 + # For security reasons, it is highly recommended that you always 4916 + # use absolute paths for naming shared libraries, and exclude the 4917 + # DT_RUNPATH tag from executables and libraries. But doing so 4918 + # requires that you compile everything twice, which is a pain. 4919 + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4920 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4921 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4922 + _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' 4923 + else 4924 + _LT_TAGVAR(ld_shlibs, $1)=no 4925 + fi 4926 + ;; 4927 + esac 4928 + ;; 4929 + 4930 + sunos4*) 4931 + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4932 + wlarc= 4933 + _LT_TAGVAR(hardcode_direct, $1)=yes 4934 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4935 + ;; 4936 + 4937 + *) 4938 + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4939 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4940 + _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' 4941 + else 4942 + _LT_TAGVAR(ld_shlibs, $1)=no 4943 + fi 4944 + ;; 4945 + esac 4946 + 4947 + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then 4948 + runpath_var= 4949 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4950 + _LT_TAGVAR(export_dynamic_flag_spec, $1)= 4951 + _LT_TAGVAR(whole_archive_flag_spec, $1)= 4952 + fi 4953 + else 4954 + # PORTME fill in a description of your system's linker (not GNU ld) 4955 + case $host_os in 4956 + aix3*) 4957 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4958 + _LT_TAGVAR(always_export_symbols, $1)=yes 4959 + _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' 4960 + # Note: this linker hardcodes the directories in LIBPATH if there 4961 + # are no directories specified by -L. 4962 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 4963 + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then 4964 + # Neither direct hardcoding nor static linking is supported with a 4965 + # broken collect2. 4966 + _LT_TAGVAR(hardcode_direct, $1)=unsupported 4967 + fi 4968 + ;; 4969 + 4970 + aix[[4-9]]*) 4971 + if test "$host_cpu" = ia64; then 4972 + # On IA64, the linker does run time linking by default, so we don't 4973 + # have to do anything special. 4974 + aix_use_runtimelinking=no 4975 + exp_sym_flag='-Bexport' 4976 + no_entry_flag="" 4977 + else 4978 + # If we're using GNU nm, then we don't want the "-C" option. 4979 + # -C means demangle to AIX nm, but means don't demangle with GNU nm 4980 + # Also, AIX nm treats weak defined symbols like other global 4981 + # defined symbols, whereas GNU nm marks them as "W". 4982 + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4983 + _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' 4984 + else 4985 + _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' 4986 + fi 4987 + aix_use_runtimelinking=no 4988 + 4989 + # Test if we are trying to use run time linking or normal 4990 + # AIX style linking. If -brtl is somewhere in LDFLAGS, we 4991 + # need to do runtime linking. 4992 + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 4993 + for ld_flag in $LDFLAGS; do 4994 + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then 4995 + aix_use_runtimelinking=yes 4996 + break 4997 + fi 4998 + done 4999 + ;; 5000 + esac 5001 + 5002 + exp_sym_flag='-bexport' 5003 + no_entry_flag='-bnoentry' 5004 + fi 5005 + 5006 + # When large executables or shared objects are built, AIX ld can 5007 + # have problems creating the table of contents. If linking a library 5008 + # or program results in "error TOC overflow" add -mminimal-toc to 5009 + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 5010 + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 5011 + 5012 + _LT_TAGVAR(archive_cmds, $1)='' 5013 + _LT_TAGVAR(hardcode_direct, $1)=yes 5014 + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5015 + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 5016 + _LT_TAGVAR(link_all_deplibs, $1)=yes 5017 + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 5018 + 5019 + if test "$GCC" = yes; then 5020 + case $host_os in aix4.[[012]]|aix4.[[012]].*) 5021 + # We only want to do this on AIX 4.2 and lower, the check 5022 + # below for broken collect2 doesn't work under 4.3+ 5023 + collect2name=`${CC} -print-prog-name=collect2` 5024 + if test -f "$collect2name" && 5025 + strings "$collect2name" | $GREP resolve_lib_name >/dev/null 5026 + then 5027 + # We have reworked collect2 5028 + : 5029 + else 5030 + # We have old collect2 5031 + _LT_TAGVAR(hardcode_direct, $1)=unsupported 5032 + # It fails to find uninstalled libraries when the uninstalled 5033 + # path is not listed in the libpath. Setting hardcode_minus_L 5034 + # to unsupported forces relinking 5035 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 5036 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5037 + _LT_TAGVAR(hardcode_libdir_separator, $1)= 5038 + fi 5039 + ;; 5040 + esac 5041 + shared_flag='-shared' 5042 + if test "$aix_use_runtimelinking" = yes; then 5043 + shared_flag="$shared_flag "'${wl}-G' 5044 + fi 5045 + else 5046 + # not using gcc 5047 + if test "$host_cpu" = ia64; then 5048 + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 5049 + # chokes on -Wl,-G. The following line is correct: 5050 + shared_flag='-G' 5051 + else 5052 + if test "$aix_use_runtimelinking" = yes; then 5053 + shared_flag='${wl}-G' 5054 + else 5055 + shared_flag='${wl}-bM:SRE' 5056 + fi 5057 + fi 5058 + fi 5059 + 5060 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 5061 + # It seems that -bexpall does not export symbols beginning with 5062 + # underscore (_), so it is better to generate a list of symbols to export. 5063 + _LT_TAGVAR(always_export_symbols, $1)=yes 5064 + if test "$aix_use_runtimelinking" = yes; then 5065 + # Warning - without using the other runtime loading flags (-brtl), 5066 + # -berok will link without error, but may produce a broken library. 5067 + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 5068 + # Determine the default libpath from the value encoded in an 5069 + # empty executable. 5070 + _LT_SYS_MODULE_PATH_AIX([$1]) 5071 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 5072 + _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" 5073 + else 5074 + if test "$host_cpu" = ia64; then 5075 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 5076 + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 5077 + _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" 5078 + else 5079 + # Determine the default libpath from the value encoded in an 5080 + # empty executable. 5081 + _LT_SYS_MODULE_PATH_AIX([$1]) 5082 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 5083 + # Warning - without using the other run time loading flags, 5084 + # -berok will link without error, but may produce a broken library. 5085 + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 5086 + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 5087 + if test "$with_gnu_ld" = yes; then 5088 + # We only use this code for GNU lds that support --whole-archive. 5089 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 5090 + else 5091 + # Exported symbols can be pulled into shared objects from archives 5092 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 5093 + fi 5094 + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5095 + # This is similar to how AIX traditionally builds its shared libraries. 5096 + _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' 5097 + fi 5098 + fi 5099 + ;; 5100 + 5101 + amigaos*) 5102 + case $host_cpu in 5103 + powerpc) 5104 + # see comment about AmigaOS4 .so support 5105 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 5106 + _LT_TAGVAR(archive_expsym_cmds, $1)='' 5107 + ;; 5108 + m68k) 5109 + _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)' 5110 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5111 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 5112 + ;; 5113 + esac 5114 + ;; 5115 + 5116 + bsdi[[45]]*) 5117 + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 5118 + ;; 5119 + 5120 + cygwin* | mingw* | pw32* | cegcc*) 5121 + # When not using gcc, we currently assume that we are using 5122 + # Microsoft Visual C++. 5123 + # hardcode_libdir_flag_spec is actually meaningless, as there is 5124 + # no search path for DLLs. 5125 + case $cc_basename in 5126 + cl*) 5127 + # Native MSVC 5128 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 5129 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5130 + _LT_TAGVAR(always_export_symbols, $1)=yes 5131 + _LT_TAGVAR(file_list_spec, $1)='@' 5132 + # Tell ltmain to make .lib files, not .a files. 5133 + libext=lib 5134 + # Tell ltmain to make .dll files, not .so files. 5135 + shrext_cmds=".dll" 5136 + # FIXME: Setting linknames here is a bad hack. 5137 + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' 5138 + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 5139 + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; 5140 + else 5141 + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; 5142 + fi~ 5143 + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 5144 + linknames=' 5145 + # The linker will not automatically build a static lib if we build a DLL. 5146 + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 5147 + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5148 + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 5149 + _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' 5150 + # Don't use ranlib 5151 + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 5152 + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 5153 + lt_tool_outputfile="@TOOL_OUTPUT@"~ 5154 + case $lt_outputfile in 5155 + *.exe|*.EXE) ;; 5156 + *) 5157 + lt_outputfile="$lt_outputfile.exe" 5158 + lt_tool_outputfile="$lt_tool_outputfile.exe" 5159 + ;; 5160 + esac~ 5161 + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then 5162 + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 5163 + $RM "$lt_outputfile.manifest"; 5164 + fi' 5165 + ;; 5166 + *) 5167 + # Assume MSVC wrapper 5168 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 5169 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5170 + # Tell ltmain to make .lib files, not .a files. 5171 + libext=lib 5172 + # Tell ltmain to make .dll files, not .so files. 5173 + shrext_cmds=".dll" 5174 + # FIXME: Setting linknames here is a bad hack. 5175 + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' 5176 + # The linker will automatically build a .lib file if we build a DLL. 5177 + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 5178 + # FIXME: Should let the user specify the lib program. 5179 + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 5180 + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5181 + ;; 5182 + esac 5183 + ;; 5184 + 5185 + darwin* | rhapsody*) 5186 + _LT_DARWIN_LINKER_FEATURES($1) 5187 + ;; 5188 + 5189 + dgux*) 5190 + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5191 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5192 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5193 + ;; 5194 + 5195 + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 5196 + # support. Future versions do this automatically, but an explicit c++rt0.o 5197 + # does not break anything, and helps significantly (at the cost of a little 5198 + # extra space). 5199 + freebsd2.2*) 5200 + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 5201 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5202 + _LT_TAGVAR(hardcode_direct, $1)=yes 5203 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5204 + ;; 5205 + 5206 + # Unfortunately, older versions of FreeBSD 2 do not have this feature. 5207 + freebsd2.*) 5208 + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 5209 + _LT_TAGVAR(hardcode_direct, $1)=yes 5210 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 5211 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5212 + ;; 5213 + 5214 + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 5215 + freebsd* | dragonfly*) 5216 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5217 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5218 + _LT_TAGVAR(hardcode_direct, $1)=yes 5219 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5220 + ;; 5221 + 5222 + hpux9*) 5223 + if test "$GCC" = yes; then 5224 + _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' 5225 + else 5226 + _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' 5227 + fi 5228 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 5229 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5230 + _LT_TAGVAR(hardcode_direct, $1)=yes 5231 + 5232 + # hardcode_minus_L: Not really in the search PATH, 5233 + # but as the default location of the library. 5234 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 5235 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5236 + ;; 5237 + 5238 + hpux10*) 5239 + if test "$GCC" = yes && test "$with_gnu_ld" = no; then 5240 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5241 + else 5242 + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 5243 + fi 5244 + if test "$with_gnu_ld" = no; then 5245 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 5246 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5247 + _LT_TAGVAR(hardcode_direct, $1)=yes 5248 + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5249 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5250 + # hardcode_minus_L: Not really in the search PATH, 5251 + # but as the default location of the library. 5252 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 5253 + fi 5254 + ;; 5255 + 5256 + hpux11*) 5257 + if test "$GCC" = yes && test "$with_gnu_ld" = no; then 5258 + case $host_cpu in 5259 + hppa*64*) 5260 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 5261 + ;; 5262 + ia64*) 5263 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 5264 + ;; 5265 + *) 5266 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5267 + ;; 5268 + esac 5269 + else 5270 + case $host_cpu in 5271 + hppa*64*) 5272 + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 5273 + ;; 5274 + ia64*) 5275 + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 5276 + ;; 5277 + *) 5278 + m4_if($1, [], [ 5279 + # Older versions of the 11.00 compiler do not understand -b yet 5280 + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) 5281 + _LT_LINKER_OPTION([if $CC understands -b], 5282 + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], 5283 + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], 5284 + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], 5285 + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) 5286 + ;; 5287 + esac 5288 + fi 5289 + if test "$with_gnu_ld" = no; then 5290 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 5291 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5292 + 5293 + case $host_cpu in 5294 + hppa*64*|ia64*) 5295 + _LT_TAGVAR(hardcode_direct, $1)=no 5296 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5297 + ;; 5298 + *) 5299 + _LT_TAGVAR(hardcode_direct, $1)=yes 5300 + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5301 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5302 + 5303 + # hardcode_minus_L: Not really in the search PATH, 5304 + # but as the default location of the library. 5305 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 5306 + ;; 5307 + esac 5308 + fi 5309 + ;; 5310 + 5311 + irix5* | irix6* | nonstopux*) 5312 + if test "$GCC" = yes; then 5313 + _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' 5314 + # Try to use the -exported_symbol ld option, if it does not 5315 + # work, assume that -exports_file does not work either and 5316 + # implicitly export all symbols. 5317 + # This should be the same for all languages, so no per-tag cache variable. 5318 + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], 5319 + [lt_cv_irix_exported_symbol], 5320 + [save_LDFLAGS="$LDFLAGS" 5321 + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" 5322 + AC_LINK_IFELSE( 5323 + [AC_LANG_SOURCE( 5324 + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], 5325 + [C++], [[int foo (void) { return 0; }]], 5326 + [Fortran 77], [[ 5327 + subroutine foo 5328 + end]], 5329 + [Fortran], [[ 5330 + subroutine foo 5331 + end]])])], 5332 + [lt_cv_irix_exported_symbol=yes], 5333 + [lt_cv_irix_exported_symbol=no]) 5334 + LDFLAGS="$save_LDFLAGS"]) 5335 + if test "$lt_cv_irix_exported_symbol" = yes; then 5336 + _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' 5337 + fi 5338 + else 5339 + _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' 5340 + _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' 5341 + fi 5342 + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5343 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5344 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5345 + _LT_TAGVAR(inherit_rpath, $1)=yes 5346 + _LT_TAGVAR(link_all_deplibs, $1)=yes 5347 + ;; 5348 + 5349 + netbsd*) 5350 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 5351 + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 5352 + else 5353 + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 5354 + fi 5355 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5356 + _LT_TAGVAR(hardcode_direct, $1)=yes 5357 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5358 + ;; 5359 + 5360 + newsos6) 5361 + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5362 + _LT_TAGVAR(hardcode_direct, $1)=yes 5363 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5364 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5365 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5366 + ;; 5367 + 5368 + *nto* | *qnx*) 5369 + ;; 5370 + 5371 + openbsd*) 5372 + if test -f /usr/libexec/ld.so; then 5373 + _LT_TAGVAR(hardcode_direct, $1)=yes 5374 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5375 + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5376 + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 5377 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5378 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' 5379 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 5380 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5381 + else 5382 + case $host_os in 5383 + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) 5384 + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 5385 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5386 + ;; 5387 + *) 5388 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5389 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 5390 + ;; 5391 + esac 5392 + fi 5393 + else 5394 + _LT_TAGVAR(ld_shlibs, $1)=no 5395 + fi 5396 + ;; 5397 + 5398 + os2*) 5399 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5400 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 5401 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5402 + _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' 5403 + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' 5404 + ;; 5405 + 5406 + osf3*) 5407 + if test "$GCC" = yes; then 5408 + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 5409 + _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' 5410 + else 5411 + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 5412 + _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' 5413 + fi 5414 + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5415 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5416 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5417 + ;; 5418 + 5419 + osf4* | osf5*) # as osf3* with the addition of -msym flag 5420 + if test "$GCC" = yes; then 5421 + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 5422 + _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' 5423 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5424 + else 5425 + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 5426 + _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' 5427 + _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~ 5428 + $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' 5429 + 5430 + # Both c and cxx compiler support -rpath directly 5431 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 5432 + fi 5433 + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5434 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5435 + ;; 5436 + 5437 + solaris*) 5438 + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 5439 + if test "$GCC" = yes; then 5440 + wlarc='${wl}' 5441 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 5442 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 5443 + $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' 5444 + else 5445 + case `$CC -V 2>&1` in 5446 + *"Compilers 5.0"*) 5447 + wlarc='' 5448 + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 5449 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 5450 + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 5451 + ;; 5452 + *) 5453 + wlarc='${wl}' 5454 + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' 5455 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 5456 + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 5457 + ;; 5458 + esac 5459 + fi 5460 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5461 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5462 + case $host_os in 5463 + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 5464 + *) 5465 + # The compiler driver will combine and reorder linker options, 5466 + # but understands `-z linker_flag'. GCC discards it without `$wl', 5467 + # but is careful enough not to reorder. 5468 + # Supported since Solaris 2.6 (maybe 2.5.1?) 5469 + if test "$GCC" = yes; then 5470 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 5471 + else 5472 + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 5473 + fi 5474 + ;; 5475 + esac 5476 + _LT_TAGVAR(link_all_deplibs, $1)=yes 5477 + ;; 5478 + 5479 + sunos4*) 5480 + if test "x$host_vendor" = xsequent; then 5481 + # Use $CC to link under sequent, because it throws in some extra .o 5482 + # files that make .init and .fini sections work. 5483 + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' 5484 + else 5485 + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 5486 + fi 5487 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5488 + _LT_TAGVAR(hardcode_direct, $1)=yes 5489 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 5490 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5491 + ;; 5492 + 5493 + sysv4) 5494 + case $host_vendor in 5495 + sni) 5496 + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5497 + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 5498 + ;; 5499 + siemens) 5500 + ## LD is ld it makes a PLAMLIB 5501 + ## CC just makes a GrossModule. 5502 + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 5503 + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 5504 + _LT_TAGVAR(hardcode_direct, $1)=no 5505 + ;; 5506 + motorola) 5507 + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5508 + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 5509 + ;; 5510 + esac 5511 + runpath_var='LD_RUN_PATH' 5512 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5513 + ;; 5514 + 5515 + sysv4.3*) 5516 + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5517 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5518 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 5519 + ;; 5520 + 5521 + sysv4*MP*) 5522 + if test -d /usr/nec; then 5523 + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5524 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5525 + runpath_var=LD_RUN_PATH 5526 + hardcode_runpath_var=yes 5527 + _LT_TAGVAR(ld_shlibs, $1)=yes 5528 + fi 5529 + ;; 5530 + 5531 + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 5532 + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 5533 + _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5534 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5535 + runpath_var='LD_RUN_PATH' 5536 + 5537 + if test "$GCC" = yes; then 5538 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5539 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5540 + else 5541 + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5542 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5543 + fi 5544 + ;; 5545 + 5546 + sysv5* | sco3.2v5* | sco5v6*) 5547 + # Note: We can NOT use -z defs as we might desire, because we do not 5548 + # link with -lc, and that would cause any symbols used from libc to 5549 + # always be unresolved, which means just about no library would 5550 + # ever link correctly. If we're not using GNU ld we use -z text 5551 + # though, which does catch some bad symbols but isn't as heavy-handed 5552 + # as -z defs. 5553 + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 5554 + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 5555 + _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5556 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5557 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 5558 + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 5559 + _LT_TAGVAR(link_all_deplibs, $1)=yes 5560 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 5561 + runpath_var='LD_RUN_PATH' 5562 + 5563 + if test "$GCC" = yes; then 5564 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5565 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5566 + else 5567 + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5568 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5569 + fi 5570 + ;; 5571 + 5572 + uts4*) 5573 + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5574 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5575 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5576 + ;; 5577 + 5578 + *) 5579 + _LT_TAGVAR(ld_shlibs, $1)=no 5580 + ;; 5581 + esac 5582 + 5583 + if test x$host_vendor = xsni; then 5584 + case $host in 5585 + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 5586 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' 5587 + ;; 5588 + esac 5589 + fi 5590 + fi 5591 +]) 5592 +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 5593 +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 5594 + 5595 +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 5596 + 5597 +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 5598 +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 5599 +_LT_DECL([], [extract_expsyms_cmds], [2], 5600 + [The commands to extract the exported symbol list from a shared archive]) 5601 + 5602 +# 5603 +# Do we need to explicitly link libc? 5604 +# 5605 +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 5606 +x|xyes) 5607 + # Assume -lc should be added 5608 + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5609 + 5610 + if test "$enable_shared" = yes && test "$GCC" = yes; then 5611 + case $_LT_TAGVAR(archive_cmds, $1) in 5612 + *'~'*) 5613 + # FIXME: we may have to deal with multi-command sequences. 5614 + ;; 5615 + '$CC '*) 5616 + # Test whether the compiler implicitly links with -lc since on some 5617 + # systems, -lgcc has to come before -lc. If gcc already passes -lc 5618 + # to ld, don't add -lc before -lgcc. 5619 + AC_CACHE_CHECK([whether -lc should be explicitly linked in], 5620 + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), 5621 + [$RM conftest* 5622 + echo "$lt_simple_compile_test_code" > conftest.$ac_ext 5623 + 5624 + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 5625 + soname=conftest 5626 + lib=conftest 5627 + libobjs=conftest.$ac_objext 5628 + deplibs= 5629 + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 5630 + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 5631 + compiler_flags=-v 5632 + linker_flags=-v 5633 + verstring= 5634 + output_objdir=. 5635 + libname=conftest 5636 + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 5637 + _LT_TAGVAR(allow_undefined_flag, $1)= 5638 + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 5639 + then 5640 + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no 5641 + else 5642 + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5643 + fi 5644 + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 5645 + else 5646 + cat conftest.err 1>&5 5647 + fi 5648 + $RM conftest* 5649 + ]) 5650 + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) 5651 + ;; 5652 + esac 5653 + fi 5654 + ;; 5655 +esac 5656 + 5657 +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 5658 + [Whether or not to add -lc for building shared libraries]) 5659 +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 5660 + [enable_shared_with_static_runtimes], [0], 5661 + [Whether or not to disallow shared libs when runtime libs are static]) 5662 +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 5663 + [Compiler flag to allow reflexive dlopens]) 5664 +_LT_TAGDECL([], [whole_archive_flag_spec], [1], 5665 + [Compiler flag to generate shared objects directly from archives]) 5666 +_LT_TAGDECL([], [compiler_needs_object], [1], 5667 + [Whether the compiler copes with passing no objects directly]) 5668 +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 5669 + [Create an old-style archive from a shared archive]) 5670 +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 5671 + [Create a temporary old-style archive to link instead of a shared archive]) 5672 +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 5673 +_LT_TAGDECL([], [archive_expsym_cmds], [2]) 5674 +_LT_TAGDECL([], [module_cmds], [2], 5675 + [Commands used to build a loadable module if different from building 5676 + a shared archive.]) 5677 +_LT_TAGDECL([], [module_expsym_cmds], [2]) 5678 +_LT_TAGDECL([], [with_gnu_ld], [1], 5679 + [Whether we are building with GNU ld or not]) 5680 +_LT_TAGDECL([], [allow_undefined_flag], [1], 5681 + [Flag that allows shared libraries with undefined symbols to be built]) 5682 +_LT_TAGDECL([], [no_undefined_flag], [1], 5683 + [Flag that enforces no undefined symbols]) 5684 +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 5685 + [Flag to hardcode $libdir into a binary during linking. 5686 + This must work even if $libdir does not exist]) 5687 +_LT_TAGDECL([], [hardcode_libdir_separator], [1], 5688 + [Whether we need a single "-rpath" flag with a separated argument]) 5689 +_LT_TAGDECL([], [hardcode_direct], [0], 5690 + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 5691 + DIR into the resulting binary]) 5692 +_LT_TAGDECL([], [hardcode_direct_absolute], [0], 5693 + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 5694 + DIR into the resulting binary and the resulting library dependency is 5695 + "absolute", i.e impossible to change by setting ${shlibpath_var} if the 5696 + library is relocated]) 5697 +_LT_TAGDECL([], [hardcode_minus_L], [0], 5698 + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 5699 + into the resulting binary]) 5700 +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 5701 + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 5702 + into the resulting binary]) 5703 +_LT_TAGDECL([], [hardcode_automatic], [0], 5704 + [Set to "yes" if building a shared library automatically hardcodes DIR 5705 + into the library and all subsequent libraries and executables linked 5706 + against it]) 5707 +_LT_TAGDECL([], [inherit_rpath], [0], 5708 + [Set to yes if linker adds runtime paths of dependent libraries 5709 + to runtime path list]) 5710 +_LT_TAGDECL([], [link_all_deplibs], [0], 5711 + [Whether libtool must link a program against all its dependency libraries]) 5712 +_LT_TAGDECL([], [always_export_symbols], [0], 5713 + [Set to "yes" if exported symbols are required]) 5714 +_LT_TAGDECL([], [export_symbols_cmds], [2], 5715 + [The commands to list exported symbols]) 5716 +_LT_TAGDECL([], [exclude_expsyms], [1], 5717 + [Symbols that should not be listed in the preloaded symbols]) 5718 +_LT_TAGDECL([], [include_expsyms], [1], 5719 + [Symbols that must always be exported]) 5720 +_LT_TAGDECL([], [prelink_cmds], [2], 5721 + [Commands necessary for linking programs (against libraries) with templates]) 5722 +_LT_TAGDECL([], [postlink_cmds], [2], 5723 + [Commands necessary for finishing linking programs]) 5724 +_LT_TAGDECL([], [file_list_spec], [1], 5725 + [Specify filename containing input files]) 5726 +dnl FIXME: Not yet implemented 5727 +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 5728 +dnl [Compiler flag to generate thread safe objects]) 5729 +])# _LT_LINKER_SHLIBS 5730 + 5731 + 5732 +# _LT_LANG_C_CONFIG([TAG]) 5733 +# ------------------------ 5734 +# Ensure that the configuration variables for a C compiler are suitably 5735 +# defined. These variables are subsequently used by _LT_CONFIG to write 5736 +# the compiler configuration to `libtool'. 5737 +m4_defun([_LT_LANG_C_CONFIG], 5738 +[m4_require([_LT_DECL_EGREP])dnl 5739 +lt_save_CC="$CC" 5740 +AC_LANG_PUSH(C) 5741 + 5742 +# Source file extension for C test sources. 5743 +ac_ext=c 5744 + 5745 +# Object file extension for compiled C test sources. 5746 +objext=o 5747 +_LT_TAGVAR(objext, $1)=$objext 5748 + 5749 +# Code to be used in simple compile tests 5750 +lt_simple_compile_test_code="int some_variable = 0;" 5751 + 5752 +# Code to be used in simple link tests 5753 +lt_simple_link_test_code='int main(){return(0);}' 5754 + 5755 +_LT_TAG_COMPILER 5756 +# Save the default compiler, since it gets overwritten when the other 5757 +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 5758 +compiler_DEFAULT=$CC 5759 + 5760 +# save warnings/boilerplate of simple test code 5761 +_LT_COMPILER_BOILERPLATE 5762 +_LT_LINKER_BOILERPLATE 5763 + 5764 +## CAVEAT EMPTOR: 5765 +## There is no encapsulation within the following macros, do not change 5766 +## the running order or otherwise move them around unless you know exactly 5767 +## what you are doing... 5768 +if test -n "$compiler"; then 5769 + _LT_COMPILER_NO_RTTI($1) 5770 + _LT_COMPILER_PIC($1) 5771 + _LT_COMPILER_C_O($1) 5772 + _LT_COMPILER_FILE_LOCKS($1) 5773 + _LT_LINKER_SHLIBS($1) 5774 + _LT_SYS_DYNAMIC_LINKER($1) 5775 + _LT_LINKER_HARDCODE_LIBPATH($1) 5776 + LT_SYS_DLOPEN_SELF 5777 + _LT_CMD_STRIPLIB 5778 + 5779 + # Report which library types will actually be built 5780 + AC_MSG_CHECKING([if libtool supports shared libraries]) 5781 + AC_MSG_RESULT([$can_build_shared]) 5782 + 5783 + AC_MSG_CHECKING([whether to build shared libraries]) 5784 + test "$can_build_shared" = "no" && enable_shared=no 5785 + 5786 + # On AIX, shared libraries and static libraries use the same namespace, and 5787 + # are all built from PIC. 5788 + case $host_os in 5789 + aix3*) 5790 + test "$enable_shared" = yes && enable_static=no 5791 + if test -n "$RANLIB"; then 5792 + archive_cmds="$archive_cmds~\$RANLIB \$lib" 5793 + postinstall_cmds='$RANLIB $lib' 5794 + fi 5795 + ;; 5796 + 5797 + aix[[4-9]]*) 5798 + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 5799 + test "$enable_shared" = yes && enable_static=no 5800 + fi 5801 + ;; 5802 + esac 5803 + AC_MSG_RESULT([$enable_shared]) 5804 + 5805 + AC_MSG_CHECKING([whether to build static libraries]) 5806 + # Make sure either enable_shared or enable_static is yes. 5807 + test "$enable_shared" = yes || enable_static=yes 5808 + AC_MSG_RESULT([$enable_static]) 5809 + 5810 + _LT_CONFIG($1) 5811 +fi 5812 +AC_LANG_POP 5813 +CC="$lt_save_CC" 5814 +])# _LT_LANG_C_CONFIG 5815 + 5816 + 5817 +# _LT_LANG_CXX_CONFIG([TAG]) 5818 +# -------------------------- 5819 +# Ensure that the configuration variables for a C++ compiler are suitably 5820 +# defined. These variables are subsequently used by _LT_CONFIG to write 5821 +# the compiler configuration to `libtool'. 5822 +m4_defun([_LT_LANG_CXX_CONFIG], 5823 +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 5824 +m4_require([_LT_DECL_EGREP])dnl 5825 +m4_require([_LT_PATH_MANIFEST_TOOL])dnl 5826 +if test -n "$CXX" && ( test "X$CXX" != "Xno" && 5827 + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || 5828 + (test "X$CXX" != "Xg++"))) ; then 5829 + AC_PROG_CXXCPP 5830 +else 5831 + _lt_caught_CXX_error=yes 5832 +fi 5833 + 5834 +AC_LANG_PUSH(C++) 5835 +_LT_TAGVAR(archive_cmds_need_lc, $1)=no 5836 +_LT_TAGVAR(allow_undefined_flag, $1)= 5837 +_LT_TAGVAR(always_export_symbols, $1)=no 5838 +_LT_TAGVAR(archive_expsym_cmds, $1)= 5839 +_LT_TAGVAR(compiler_needs_object, $1)=no 5840 +_LT_TAGVAR(export_dynamic_flag_spec, $1)= 5841 +_LT_TAGVAR(hardcode_direct, $1)=no 5842 +_LT_TAGVAR(hardcode_direct_absolute, $1)=no 5843 +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 5844 +_LT_TAGVAR(hardcode_libdir_separator, $1)= 5845 +_LT_TAGVAR(hardcode_minus_L, $1)=no 5846 +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 5847 +_LT_TAGVAR(hardcode_automatic, $1)=no 5848 +_LT_TAGVAR(inherit_rpath, $1)=no 5849 +_LT_TAGVAR(module_cmds, $1)= 5850 +_LT_TAGVAR(module_expsym_cmds, $1)= 5851 +_LT_TAGVAR(link_all_deplibs, $1)=unknown 5852 +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 5853 +_LT_TAGVAR(reload_flag, $1)=$reload_flag 5854 +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 5855 +_LT_TAGVAR(no_undefined_flag, $1)= 5856 +_LT_TAGVAR(whole_archive_flag_spec, $1)= 5857 +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 5858 + 5859 +# Source file extension for C++ test sources. 5860 +ac_ext=cpp 5861 + 5862 +# Object file extension for compiled C++ test sources. 5863 +objext=o 5864 +_LT_TAGVAR(objext, $1)=$objext 5865 + 5866 +# No sense in running all these tests if we already determined that 5867 +# the CXX compiler isn't working. Some variables (like enable_shared) 5868 +# are currently assumed to apply to all compilers on this platform, 5869 +# and will be corrupted by setting them based on a non-working compiler. 5870 +if test "$_lt_caught_CXX_error" != yes; then 5871 + # Code to be used in simple compile tests 5872 + lt_simple_compile_test_code="int some_variable = 0;" 5873 + 5874 + # Code to be used in simple link tests 5875 + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 5876 + 5877 + # ltmain only uses $CC for tagged configurations so make sure $CC is set. 5878 + _LT_TAG_COMPILER 5879 + 5880 + # save warnings/boilerplate of simple test code 5881 + _LT_COMPILER_BOILERPLATE 5882 + _LT_LINKER_BOILERPLATE 5883 + 5884 + # Allow CC to be a program name with arguments. 5885 + lt_save_CC=$CC 5886 + lt_save_CFLAGS=$CFLAGS 5887 + lt_save_LD=$LD 5888 + lt_save_GCC=$GCC 5889 + GCC=$GXX 5890 + lt_save_with_gnu_ld=$with_gnu_ld 5891 + lt_save_path_LD=$lt_cv_path_LD 5892 + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 5893 + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 5894 + else 5895 + $as_unset lt_cv_prog_gnu_ld 5896 + fi 5897 + if test -n "${lt_cv_path_LDCXX+set}"; then 5898 + lt_cv_path_LD=$lt_cv_path_LDCXX 5899 + else 5900 + $as_unset lt_cv_path_LD 5901 + fi 5902 + test -z "${LDCXX+set}" || LD=$LDCXX 5903 + CC=${CXX-"c++"} 5904 + CFLAGS=$CXXFLAGS 5905 + compiler=$CC 5906 + _LT_TAGVAR(compiler, $1)=$CC 5907 + _LT_CC_BASENAME([$compiler]) 5908 + 5909 + if test -n "$compiler"; then 5910 + # We don't want -fno-exception when compiling C++ code, so set the 5911 + # no_builtin_flag separately 5912 + if test "$GXX" = yes; then 5913 + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 5914 + else 5915 + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 5916 + fi 5917 + 5918 + if test "$GXX" = yes; then 5919 + # Set up default GNU C++ configuration 5920 + 5921 + LT_PATH_LD 5922 + 5923 + # Check if GNU C++ uses GNU ld as the underlying linker, since the 5924 + # archiving commands below assume that GNU ld is being used. 5925 + if test "$with_gnu_ld" = yes; then 5926 + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 5927 + _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' 5928 + 5929 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5930 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5931 + 5932 + # If archive_cmds runs LD, not CC, wlarc should be empty 5933 + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 5934 + # investigate it a little bit more. (MM) 5935 + wlarc='${wl}' 5936 + 5937 + # ancient GNU ld didn't support --whole-archive et. al. 5938 + if eval "`$CC -print-prog-name=ld` --help 2>&1" | 5939 + $GREP 'no-whole-archive' > /dev/null; then 5940 + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 5941 + else 5942 + _LT_TAGVAR(whole_archive_flag_spec, $1)= 5943 + fi 5944 + else 5945 + with_gnu_ld=no 5946 + wlarc= 5947 + 5948 + # A generic and very simple default shared library creation 5949 + # command for GNU C++ for the case where it uses the native 5950 + # linker, instead of GNU ld. If possible, this setting should 5951 + # overridden to take advantage of the native linker features on 5952 + # the platform it is being used on. 5953 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 5954 + fi 5955 + 5956 + # Commands to make compiler produce verbose output that lists 5957 + # what "hidden" libraries, object files and flags are used when 5958 + # linking a shared library. 5959 + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 5960 + 5961 + else 5962 + GXX=no 5963 + with_gnu_ld=no 5964 + wlarc= 5965 + fi 5966 + 5967 + # PORTME: fill in a description of your system's C++ link characteristics 5968 + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 5969 + _LT_TAGVAR(ld_shlibs, $1)=yes 5970 + case $host_os in 5971 + aix3*) 5972 + # FIXME: insert proper C++ library support 5973 + _LT_TAGVAR(ld_shlibs, $1)=no 5974 + ;; 5975 + aix[[4-9]]*) 5976 + if test "$host_cpu" = ia64; then 5977 + # On IA64, the linker does run time linking by default, so we don't 5978 + # have to do anything special. 5979 + aix_use_runtimelinking=no 5980 + exp_sym_flag='-Bexport' 5981 + no_entry_flag="" 5982 + else 5983 + aix_use_runtimelinking=no 5984 + 5985 + # Test if we are trying to use run time linking or normal 5986 + # AIX style linking. If -brtl is somewhere in LDFLAGS, we 5987 + # need to do runtime linking. 5988 + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 5989 + for ld_flag in $LDFLAGS; do 5990 + case $ld_flag in 5991 + *-brtl*) 5992 + aix_use_runtimelinking=yes 5993 + break 5994 + ;; 5995 + esac 5996 + done 5997 + ;; 5998 + esac 5999 + 6000 + exp_sym_flag='-bexport' 6001 + no_entry_flag='-bnoentry' 6002 + fi 6003 + 6004 + # When large executables or shared objects are built, AIX ld can 6005 + # have problems creating the table of contents. If linking a library 6006 + # or program results in "error TOC overflow" add -mminimal-toc to 6007 + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 6008 + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 6009 + 6010 + _LT_TAGVAR(archive_cmds, $1)='' 6011 + _LT_TAGVAR(hardcode_direct, $1)=yes 6012 + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6013 + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 6014 + _LT_TAGVAR(link_all_deplibs, $1)=yes 6015 + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 6016 + 6017 + if test "$GXX" = yes; then 6018 + case $host_os in aix4.[[012]]|aix4.[[012]].*) 6019 + # We only want to do this on AIX 4.2 and lower, the check 6020 + # below for broken collect2 doesn't work under 4.3+ 6021 + collect2name=`${CC} -print-prog-name=collect2` 6022 + if test -f "$collect2name" && 6023 + strings "$collect2name" | $GREP resolve_lib_name >/dev/null 6024 + then 6025 + # We have reworked collect2 6026 + : 6027 + else 6028 + # We have old collect2 6029 + _LT_TAGVAR(hardcode_direct, $1)=unsupported 6030 + # It fails to find uninstalled libraries when the uninstalled 6031 + # path is not listed in the libpath. Setting hardcode_minus_L 6032 + # to unsupported forces relinking 6033 + _LT_TAGVAR(hardcode_minus_L, $1)=yes 6034 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6035 + _LT_TAGVAR(hardcode_libdir_separator, $1)= 6036 + fi 6037 + esac 6038 + shared_flag='-shared' 6039 + if test "$aix_use_runtimelinking" = yes; then 6040 + shared_flag="$shared_flag "'${wl}-G' 6041 + fi 6042 + else 6043 + # not using gcc 6044 + if test "$host_cpu" = ia64; then 6045 + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 6046 + # chokes on -Wl,-G. The following line is correct: 6047 + shared_flag='-G' 6048 + else 6049 + if test "$aix_use_runtimelinking" = yes; then 6050 + shared_flag='${wl}-G' 6051 + else 6052 + shared_flag='${wl}-bM:SRE' 6053 + fi 6054 + fi 6055 + fi 6056 + 6057 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 6058 + # It seems that -bexpall does not export symbols beginning with 6059 + # underscore (_), so it is better to generate a list of symbols to 6060 + # export. 6061 + _LT_TAGVAR(always_export_symbols, $1)=yes 6062 + if test "$aix_use_runtimelinking" = yes; then 6063 + # Warning - without using the other runtime loading flags (-brtl), 6064 + # -berok will link without error, but may produce a broken library. 6065 + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 6066 + # Determine the default libpath from the value encoded in an empty 6067 + # executable. 6068 + _LT_SYS_MODULE_PATH_AIX([$1]) 6069 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 6070 + 6071 + _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" 6072 + else 6073 + if test "$host_cpu" = ia64; then 6074 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 6075 + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 6076 + _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" 6077 + else 6078 + # Determine the default libpath from the value encoded in an 6079 + # empty executable. 6080 + _LT_SYS_MODULE_PATH_AIX([$1]) 6081 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 6082 + # Warning - without using the other run time loading flags, 6083 + # -berok will link without error, but may produce a broken library. 6084 + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 6085 + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 6086 + if test "$with_gnu_ld" = yes; then 6087 + # We only use this code for GNU lds that support --whole-archive. 6088 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 6089 + else 6090 + # Exported symbols can be pulled into shared objects from archives 6091 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 6092 + fi 6093 + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6094 + # This is similar to how AIX traditionally builds its shared 6095 + # libraries. 6096 + _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' 6097 + fi 6098 + fi 6099 + ;; 6100 + 6101 + beos*) 6102 + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 6103 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6104 + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 6105 + # support --undefined. This deserves some investigation. FIXME 6106 + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 6107 + else 6108 + _LT_TAGVAR(ld_shlibs, $1)=no 6109 + fi 6110 + ;; 6111 + 6112 + chorus*) 6113 + case $cc_basename in 6114 + *) 6115 + # FIXME: insert proper C++ library support 6116 + _LT_TAGVAR(ld_shlibs, $1)=no 6117 + ;; 6118 + esac 6119 + ;; 6120 + 6121 + cygwin* | mingw* | pw32* | cegcc*) 6122 + case $GXX,$cc_basename in 6123 + ,cl* | no,cl*) 6124 + # Native MSVC 6125 + # hardcode_libdir_flag_spec is actually meaningless, as there is 6126 + # no search path for DLLs. 6127 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 6128 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6129 + _LT_TAGVAR(always_export_symbols, $1)=yes 6130 + _LT_TAGVAR(file_list_spec, $1)='@' 6131 + # Tell ltmain to make .lib files, not .a files. 6132 + libext=lib 6133 + # Tell ltmain to make .dll files, not .so files. 6134 + shrext_cmds=".dll" 6135 + # FIXME: Setting linknames here is a bad hack. 6136 + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' 6137 + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 6138 + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; 6139 + else 6140 + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; 6141 + fi~ 6142 + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 6143 + linknames=' 6144 + # The linker will not automatically build a static lib if we build a DLL. 6145 + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 6146 + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6147 + # Don't use ranlib 6148 + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 6149 + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 6150 + lt_tool_outputfile="@TOOL_OUTPUT@"~ 6151 + case $lt_outputfile in 6152 + *.exe|*.EXE) ;; 6153 + *) 6154 + lt_outputfile="$lt_outputfile.exe" 6155 + lt_tool_outputfile="$lt_tool_outputfile.exe" 6156 + ;; 6157 + esac~ 6158 + func_to_tool_file "$lt_outputfile"~ 6159 + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then 6160 + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 6161 + $RM "$lt_outputfile.manifest"; 6162 + fi' 6163 + ;; 6164 + *) 6165 + # g++ 6166 + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 6167 + # as there is no search path for DLLs. 6168 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6169 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' 6170 + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6171 + _LT_TAGVAR(always_export_symbols, $1)=no 6172 + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6173 + 6174 + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 6175 + _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' 6176 + # If the export-symbols file already is a .def file (1st line 6177 + # is EXPORTS), use it as is; otherwise, prepend... 6178 + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 6179 + cp $export_symbols $output_objdir/$soname.def; 6180 + else 6181 + echo EXPORTS > $output_objdir/$soname.def; 6182 + cat $export_symbols >> $output_objdir/$soname.def; 6183 + fi~ 6184 + $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' 6185 + else 6186 + _LT_TAGVAR(ld_shlibs, $1)=no 6187 + fi 6188 + ;; 6189 + esac 6190 + ;; 6191 + darwin* | rhapsody*) 6192 + _LT_DARWIN_LINKER_FEATURES($1) 6193 + ;; 6194 + 6195 + dgux*) 6196 + case $cc_basename in 6197 + ec++*) 6198 + # FIXME: insert proper C++ library support 6199 + _LT_TAGVAR(ld_shlibs, $1)=no 6200 + ;; 6201 + ghcx*) 6202 + # Green Hills C++ Compiler 6203 + # FIXME: insert proper C++ library support 6204 + _LT_TAGVAR(ld_shlibs, $1)=no 6205 + ;; 6206 + *) 6207 + # FIXME: insert proper C++ library support 6208 + _LT_TAGVAR(ld_shlibs, $1)=no 6209 + ;; 6210 + esac 6211 + ;; 6212 + 6213 + freebsd2.*) 6214 + # C++ shared libraries reported to be fairly broken before 6215 + # switch to ELF 6216 + _LT_TAGVAR(ld_shlibs, $1)=no 6217 + ;; 6218 + 6219 + freebsd-elf*) 6220 + _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6221 + ;; 6222 + 6223 + freebsd* | dragonfly*) 6224 + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 6225 + # conventions 6226 + _LT_TAGVAR(ld_shlibs, $1)=yes 6227 + ;; 6228 + 6229 + gnu*) 6230 + ;; 6231 + 6232 + haiku*) 6233 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 6234 + _LT_TAGVAR(link_all_deplibs, $1)=yes 6235 + ;; 6236 + 6237 + hpux9*) 6238 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 6239 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6240 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 6241 + _LT_TAGVAR(hardcode_direct, $1)=yes 6242 + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 6243 + # but as the default 6244 + # location of the library. 6245 + 6246 + case $cc_basename in 6247 + CC*) 6248 + # FIXME: insert proper C++ library support 6249 + _LT_TAGVAR(ld_shlibs, $1)=no 6250 + ;; 6251 + aCC*) 6252 + _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' 6253 + # Commands to make compiler produce verbose output that lists 6254 + # what "hidden" libraries, object files and flags are used when 6255 + # linking a shared library. 6256 + # 6257 + # There doesn't appear to be a way to prevent this compiler from 6258 + # explicitly linking system object files so we need to strip them 6259 + # from the output so that they don't get included in the library 6260 + # dependencies. 6261 + 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"' 6262 + ;; 6263 + *) 6264 + if test "$GXX" = yes; then 6265 + _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' 6266 + else 6267 + # FIXME: insert proper C++ library support 6268 + _LT_TAGVAR(ld_shlibs, $1)=no 6269 + fi 6270 + ;; 6271 + esac 6272 + ;; 6273 + 6274 + hpux10*|hpux11*) 6275 + if test $with_gnu_ld = no; then 6276 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 6277 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6278 + 6279 + case $host_cpu in 6280 + hppa*64*|ia64*) 6281 + ;; 6282 + *) 6283 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 6284 + ;; 6285 + esac 6286 + fi 6287 + case $host_cpu in 6288 + hppa*64*|ia64*) 6289 + _LT_TAGVAR(hardcode_direct, $1)=no 6290 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6291 + ;; 6292 + *) 6293 + _LT_TAGVAR(hardcode_direct, $1)=yes 6294 + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6295 + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 6296 + # but as the default 6297 + # location of the library. 6298 + ;; 6299 + esac 6300 + 6301 + case $cc_basename in 6302 + CC*) 6303 + # FIXME: insert proper C++ library support 6304 + _LT_TAGVAR(ld_shlibs, $1)=no 6305 + ;; 6306 + aCC*) 6307 + case $host_cpu in 6308 + hppa*64*) 6309 + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6310 + ;; 6311 + ia64*) 6312 + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6313 + ;; 6314 + *) 6315 + _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' 6316 + ;; 6317 + esac 6318 + # Commands to make compiler produce verbose output that lists 6319 + # what "hidden" libraries, object files and flags are used when 6320 + # linking a shared library. 6321 + # 6322 + # There doesn't appear to be a way to prevent this compiler from 6323 + # explicitly linking system object files so we need to strip them 6324 + # from the output so that they don't get included in the library 6325 + # dependencies. 6326 + 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"' 6327 + ;; 6328 + *) 6329 + if test "$GXX" = yes; then 6330 + if test $with_gnu_ld = no; then 6331 + case $host_cpu in 6332 + hppa*64*) 6333 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6334 + ;; 6335 + ia64*) 6336 + _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' 6337 + ;; 6338 + *) 6339 + _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' 6340 + ;; 6341 + esac 6342 + fi 6343 + else 6344 + # FIXME: insert proper C++ library support 6345 + _LT_TAGVAR(ld_shlibs, $1)=no 6346 + fi 6347 + ;; 6348 + esac 6349 + ;; 6350 + 6351 + interix[[3-9]]*) 6352 + _LT_TAGVAR(hardcode_direct, $1)=no 6353 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6354 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6355 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 6356 + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 6357 + # Instead, shared libraries are loaded at an image base (0x10000000 by 6358 + # default) and relocated if they conflict, which is a slow very memory 6359 + # consuming and fragmenting process. To avoid this, we pick a random, 6360 + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 6361 + # time. Moving up from 0x10000000 also allows more sbrk(2) space. 6362 + _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' 6363 + _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' 6364 + ;; 6365 + irix5* | irix6*) 6366 + case $cc_basename in 6367 + CC*) 6368 + # SGI C++ 6369 + _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' 6370 + 6371 + # Archives containing C++ object files must be created using 6372 + # "CC -ar", where "CC" is the IRIX C++ compiler. This is 6373 + # necessary to make sure instantiated templates are included 6374 + # in the archive. 6375 + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 6376 + ;; 6377 + *) 6378 + if test "$GXX" = yes; then 6379 + if test "$with_gnu_ld" = no; then 6380 + _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' 6381 + else 6382 + _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' 6383 + fi 6384 + fi 6385 + _LT_TAGVAR(link_all_deplibs, $1)=yes 6386 + ;; 6387 + esac 6388 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6389 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6390 + _LT_TAGVAR(inherit_rpath, $1)=yes 6391 + ;; 6392 + 6393 + linux* | k*bsd*-gnu | kopensolaris*-gnu) 6394 + case $cc_basename in 6395 + KCC*) 6396 + # Kuck and Associates, Inc. (KAI) C++ Compiler 6397 + 6398 + # KCC will only create a shared library if the output file 6399 + # ends with ".so" (or ".sl" for HP-UX), so rename the library 6400 + # to its proper name (with version) after linking. 6401 + _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' 6402 + _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' 6403 + # Commands to make compiler produce verbose output that lists 6404 + # what "hidden" libraries, object files and flags are used when 6405 + # linking a shared library. 6406 + # 6407 + # There doesn't appear to be a way to prevent this compiler from 6408 + # explicitly linking system object files so we need to strip them 6409 + # from the output so that they don't get included in the library 6410 + # dependencies. 6411 + 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"' 6412 + 6413 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6414 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 6415 + 6416 + # Archives containing C++ object files must be created using 6417 + # "CC -Bstatic", where "CC" is the KAI C++ compiler. 6418 + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 6419 + ;; 6420 + icpc* | ecpc* ) 6421 + # Intel C++ 6422 + with_gnu_ld=yes 6423 + # version 8.0 and above of icpc choke on multiply defined symbols 6424 + # if we add $predep_objects and $postdep_objects, however 7.1 and 6425 + # earlier do not add the objects themselves. 6426 + case `$CC -V 2>&1` in 6427 + *"Version 7."*) 6428 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 6429 + _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' 6430 + ;; 6431 + *) # Version 8.0 or newer 6432 + tmp_idyn= 6433 + case $host_cpu in 6434 + ia64*) tmp_idyn=' -i_dynamic';; 6435 + esac 6436 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 6437 + _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' 6438 + ;; 6439 + esac 6440 + _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6441 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6442 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 6443 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 6444 + ;; 6445 + pgCC* | pgcpp*) 6446 + # Portland Group C++ compiler 6447 + case `$CC -V` in 6448 + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) 6449 + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 6450 + rm -rf $tpldir~ 6451 + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 6452 + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' 6453 + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 6454 + rm -rf $tpldir~ 6455 + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 6456 + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ 6457 + $RANLIB $oldlib' 6458 + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 6459 + rm -rf $tpldir~ 6460 + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 6461 + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 6462 + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 6463 + rm -rf $tpldir~ 6464 + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 6465 + $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' 6466 + ;; 6467 + *) # Version 6 and above use weak symbols 6468 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 6469 + _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' 6470 + ;; 6471 + esac 6472 + 6473 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' 6474 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 6475 + _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' 6476 + ;; 6477 + cxx*) 6478 + # Compaq C++ 6479 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 6480 + _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' 6481 + 6482 + runpath_var=LD_RUN_PATH 6483 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 6484 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6485 + 6486 + # Commands to make compiler produce verbose output that lists 6487 + # what "hidden" libraries, object files and flags are used when 6488 + # linking a shared library. 6489 + # 6490 + # There doesn't appear to be a way to prevent this compiler from 6491 + # explicitly linking system object files so we need to strip them 6492 + # from the output so that they don't get included in the library 6493 + # dependencies. 6494 + 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' 6495 + ;; 6496 + xl* | mpixl* | bgxl*) 6497 + # IBM XL 8.0 on PPC, with GNU ld 6498 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6499 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 6500 + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 6501 + if test "x$supports_anon_versioning" = xyes; then 6502 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 6503 + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 6504 + echo "local: *; };" >> $output_objdir/$libname.ver~ 6505 + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 6506 + fi 6507 + ;; 6508 + *) 6509 + case `$CC -V 2>&1 | sed 5q` in 6510 + *Sun\ C*) 6511 + # Sun C++ 5.9 6512 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 6513 + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6514 + _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' 6515 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6516 + _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' 6517 + _LT_TAGVAR(compiler_needs_object, $1)=yes 6518 + 6519 + # Not sure whether something based on 6520 + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 6521 + # would be better. 6522 + output_verbose_link_cmd='func_echo_all' 6523 + 6524 + # Archives containing C++ object files must be created using 6525 + # "CC -xar", where "CC" is the Sun C++ compiler. This is 6526 + # necessary to make sure instantiated templates are included 6527 + # in the archive. 6528 + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 6529 + ;; 6530 + esac 6531 + ;; 6532 + esac 6533 + ;; 6534 + 6535 + lynxos*) 6536 + # FIXME: insert proper C++ library support 6537 + _LT_TAGVAR(ld_shlibs, $1)=no 6538 + ;; 6539 + 6540 + m88k*) 6541 + # FIXME: insert proper C++ library support 6542 + _LT_TAGVAR(ld_shlibs, $1)=no 6543 + ;; 6544 + 6545 + mvs*) 6546 + case $cc_basename in 6547 + cxx*) 6548 + # FIXME: insert proper C++ library support 6549 + _LT_TAGVAR(ld_shlibs, $1)=no 6550 + ;; 6551 + *) 6552 + # FIXME: insert proper C++ library support 6553 + _LT_TAGVAR(ld_shlibs, $1)=no 6554 + ;; 6555 + esac 6556 + ;; 6557 + 6558 + netbsd*) 6559 + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 6560 + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 6561 + wlarc= 6562 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6563 + _LT_TAGVAR(hardcode_direct, $1)=yes 6564 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6565 + fi 6566 + # Workaround some broken pre-1.5 toolchains 6567 + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 6568 + ;; 6569 + 6570 + *nto* | *qnx*) 6571 + _LT_TAGVAR(ld_shlibs, $1)=yes 6572 + ;; 6573 + 6574 + openbsd2*) 6575 + # C++ shared libraries are fairly broken 6576 + _LT_TAGVAR(ld_shlibs, $1)=no 6577 + ;; 6578 + 6579 + openbsd*) 6580 + if test -f /usr/libexec/ld.so; then 6581 + _LT_TAGVAR(hardcode_direct, $1)=yes 6582 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6583 + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6584 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 6585 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6586 + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 6587 + _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' 6588 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 6589 + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 6590 + fi 6591 + output_verbose_link_cmd=func_echo_all 6592 + else 6593 + _LT_TAGVAR(ld_shlibs, $1)=no 6594 + fi 6595 + ;; 6596 + 6597 + osf3* | osf4* | osf5*) 6598 + case $cc_basename in 6599 + KCC*) 6600 + # Kuck and Associates, Inc. (KAI) C++ Compiler 6601 + 6602 + # KCC will only create a shared library if the output file 6603 + # ends with ".so" (or ".sl" for HP-UX), so rename the library 6604 + # to its proper name (with version) after linking. 6605 + _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' 6606 + 6607 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6608 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6609 + 6610 + # Archives containing C++ object files must be created using 6611 + # the KAI C++ compiler. 6612 + case $host in 6613 + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 6614 + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 6615 + esac 6616 + ;; 6617 + RCC*) 6618 + # Rational C++ 2.4.1 6619 + # FIXME: insert proper C++ library support 6620 + _LT_TAGVAR(ld_shlibs, $1)=no 6621 + ;; 6622 + cxx*) 6623 + case $host in 6624 + osf3*) 6625 + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 6626 + _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' 6627 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6628 + ;; 6629 + *) 6630 + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 6631 + _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' 6632 + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 6633 + echo "-hidden">> $lib.exp~ 6634 + $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~ 6635 + $RM $lib.exp' 6636 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 6637 + ;; 6638 + esac 6639 + 6640 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6641 + 6642 + # Commands to make compiler produce verbose output that lists 6643 + # what "hidden" libraries, object files and flags are used when 6644 + # linking a shared library. 6645 + # 6646 + # There doesn't appear to be a way to prevent this compiler from 6647 + # explicitly linking system object files so we need to strip them 6648 + # from the output so that they don't get included in the library 6649 + # dependencies. 6650 + 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"' 6651 + ;; 6652 + *) 6653 + if test "$GXX" = yes && test "$with_gnu_ld" = no; then 6654 + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 6655 + case $host in 6656 + osf3*) 6657 + _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' 6658 + ;; 6659 + *) 6660 + _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' 6661 + ;; 6662 + esac 6663 + 6664 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6665 + _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6666 + 6667 + # Commands to make compiler produce verbose output that lists 6668 + # what "hidden" libraries, object files and flags are used when 6669 + # linking a shared library. 6670 + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 6671 + 6672 + else 6673 + # FIXME: insert proper C++ library support 6674 + _LT_TAGVAR(ld_shlibs, $1)=no 6675 + fi 6676 + ;; 6677 + esac 6678 + ;; 6679 + 6680 + psos*) 6681 + # FIXME: insert proper C++ library support 6682 + _LT_TAGVAR(ld_shlibs, $1)=no 6683 + ;; 6684 + 6685 + sunos4*) 6686 + case $cc_basename in 6687 + CC*) 6688 + # Sun C++ 4.x 6689 + # FIXME: insert proper C++ library support 6690 + _LT_TAGVAR(ld_shlibs, $1)=no 6691 + ;; 6692 + lcc*) 6693 + # Lucid 6694 + # FIXME: insert proper C++ library support 6695 + _LT_TAGVAR(ld_shlibs, $1)=no 6696 + ;; 6697 + *) 6698 + # FIXME: insert proper C++ library support 6699 + _LT_TAGVAR(ld_shlibs, $1)=no 6700 + ;; 6701 + esac 6702 + ;; 6703 + 6704 + solaris*) 6705 + case $cc_basename in 6706 + CC* | sunCC*) 6707 + # Sun C++ 4.2, 5.x and Centerline C++ 6708 + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 6709 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 6710 + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6711 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6712 + $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' 6713 + 6714 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6715 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6716 + case $host_os in 6717 + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 6718 + *) 6719 + # The compiler driver will combine and reorder linker options, 6720 + # but understands `-z linker_flag'. 6721 + # Supported since Solaris 2.6 (maybe 2.5.1?) 6722 + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 6723 + ;; 6724 + esac 6725 + _LT_TAGVAR(link_all_deplibs, $1)=yes 6726 + 6727 + output_verbose_link_cmd='func_echo_all' 6728 + 6729 + # Archives containing C++ object files must be created using 6730 + # "CC -xar", where "CC" is the Sun C++ compiler. This is 6731 + # necessary to make sure instantiated templates are included 6732 + # in the archive. 6733 + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 6734 + ;; 6735 + gcx*) 6736 + # Green Hills C++ Compiler 6737 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6738 + 6739 + # The C++ compiler must be used to create the archive. 6740 + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 6741 + ;; 6742 + *) 6743 + # GNU C++ compiler with Solaris linker 6744 + if test "$GXX" = yes && test "$with_gnu_ld" = no; then 6745 + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' 6746 + if $CC --version | $GREP -v '^2\.7' > /dev/null; then 6747 + _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' 6748 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6749 + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 6750 + 6751 + # Commands to make compiler produce verbose output that lists 6752 + # what "hidden" libraries, object files and flags are used when 6753 + # linking a shared library. 6754 + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 6755 + else 6756 + # g++ 2.7 appears to require `-G' NOT `-shared' on this 6757 + # platform. 6758 + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6759 + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6760 + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 6761 + 6762 + # Commands to make compiler produce verbose output that lists 6763 + # what "hidden" libraries, object files and flags are used when 6764 + # linking a shared library. 6765 + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 6766 + fi 6767 + 6768 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' 6769 + case $host_os in 6770 + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 6771 + *) 6772 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 6773 + ;; 6774 + esac 6775 + fi 6776 + ;; 6777 + esac 6778 + ;; 6779 + 6780 + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 6781 + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 6782 + _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6783 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6784 + runpath_var='LD_RUN_PATH' 6785 + 6786 + case $cc_basename in 6787 + CC*) 6788 + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6789 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6790 + ;; 6791 + *) 6792 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6793 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6794 + ;; 6795 + esac 6796 + ;; 6797 + 6798 + sysv5* | sco3.2v5* | sco5v6*) 6799 + # Note: We can NOT use -z defs as we might desire, because we do not 6800 + # link with -lc, and that would cause any symbols used from libc to 6801 + # always be unresolved, which means just about no library would 6802 + # ever link correctly. If we're not using GNU ld we use -z text 6803 + # though, which does catch some bad symbols but isn't as heavy-handed 6804 + # as -z defs. 6805 + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 6806 + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 6807 + _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6808 + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6809 + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 6810 + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 6811 + _LT_TAGVAR(link_all_deplibs, $1)=yes 6812 + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 6813 + runpath_var='LD_RUN_PATH' 6814 + 6815 + case $cc_basename in 6816 + CC*) 6817 + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6818 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6819 + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ 6820 + '"$_LT_TAGVAR(old_archive_cmds, $1)" 6821 + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ 6822 + '"$_LT_TAGVAR(reload_cmds, $1)" 6823 + ;; 6824 + *) 6825 + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6826 + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6827 + ;; 6828 + esac 6829 + ;; 6830 + 6831 + tandem*) 6832 + case $cc_basename in 6833 + NCC*) 6834 + # NonStop-UX NCC 3.20 6835 + # FIXME: insert proper C++ library support 6836 + _LT_TAGVAR(ld_shlibs, $1)=no 6837 + ;; 6838 + *) 6839 + # FIXME: insert proper C++ library support 6840 + _LT_TAGVAR(ld_shlibs, $1)=no 6841 + ;; 6842 + esac 6843 + ;; 6844 + 6845 + vxworks*) 6846 + # FIXME: insert proper C++ library support 6847 + _LT_TAGVAR(ld_shlibs, $1)=no 6848 + ;; 6849 + 6850 + *) 6851 + # FIXME: insert proper C++ library support 6852 + _LT_TAGVAR(ld_shlibs, $1)=no 6853 + ;; 6854 + esac 6855 + 6856 + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 6857 + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 6858 + 6859 + _LT_TAGVAR(GCC, $1)="$GXX" 6860 + _LT_TAGVAR(LD, $1)="$LD" 6861 + 6862 + ## CAVEAT EMPTOR: 6863 + ## There is no encapsulation within the following macros, do not change 6864 + ## the running order or otherwise move them around unless you know exactly 6865 + ## what you are doing... 6866 + _LT_SYS_HIDDEN_LIBDEPS($1) 6867 + _LT_COMPILER_PIC($1) 6868 + _LT_COMPILER_C_O($1) 6869 + _LT_COMPILER_FILE_LOCKS($1) 6870 + _LT_LINKER_SHLIBS($1) 6871 + _LT_SYS_DYNAMIC_LINKER($1) 6872 + _LT_LINKER_HARDCODE_LIBPATH($1) 6873 + 6874 + _LT_CONFIG($1) 6875 + fi # test -n "$compiler" 6876 + 6877 + CC=$lt_save_CC 6878 + CFLAGS=$lt_save_CFLAGS 6879 + LDCXX=$LD 6880 + LD=$lt_save_LD 6881 + GCC=$lt_save_GCC 6882 + with_gnu_ld=$lt_save_with_gnu_ld 6883 + lt_cv_path_LDCXX=$lt_cv_path_LD 6884 + lt_cv_path_LD=$lt_save_path_LD 6885 + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 6886 + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 6887 +fi # test "$_lt_caught_CXX_error" != yes 6888 + 6889 +AC_LANG_POP 6890 +])# _LT_LANG_CXX_CONFIG 6891 + 6892 + 6893 +# _LT_FUNC_STRIPNAME_CNF 6894 +# ---------------------- 6895 +# func_stripname_cnf prefix suffix name 6896 +# strip PREFIX and SUFFIX off of NAME. 6897 +# PREFIX and SUFFIX must not contain globbing or regex special 6898 +# characters, hashes, percent signs, but SUFFIX may contain a leading 6899 +# dot (in which case that matches only a dot). 6900 +# 6901 +# This function is identical to the (non-XSI) version of func_stripname, 6902 +# except this one can be used by m4 code that may be executed by configure, 6903 +# rather than the libtool script. 6904 +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl 6905 +AC_REQUIRE([_LT_DECL_SED]) 6906 +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) 6907 +func_stripname_cnf () 6908 +{ 6909 + case ${2} in 6910 + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; 6911 + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; 6912 + esac 6913 +} # func_stripname_cnf 6914 +])# _LT_FUNC_STRIPNAME_CNF 6915 + 6916 +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 6917 +# --------------------------------- 6918 +# Figure out "hidden" library dependencies from verbose 6919 +# compiler output when linking a shared library. 6920 +# Parse the compiler output and extract the necessary 6921 +# objects, libraries and library flags. 6922 +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], 6923 +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 6924 +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl 6925 +# Dependencies to place before and after the object being linked: 6926 +_LT_TAGVAR(predep_objects, $1)= 6927 +_LT_TAGVAR(postdep_objects, $1)= 6928 +_LT_TAGVAR(predeps, $1)= 6929 +_LT_TAGVAR(postdeps, $1)= 6930 +_LT_TAGVAR(compiler_lib_search_path, $1)= 6931 + 6932 +dnl we can't use the lt_simple_compile_test_code here, 6933 +dnl because it contains code intended for an executable, 6934 +dnl not a library. It's possible we should let each 6935 +dnl tag define a new lt_????_link_test_code variable, 6936 +dnl but it's only used here... 6937 +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 6938 +int a; 6939 +void foo (void) { a = 0; } 6940 +_LT_EOF 6941 +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 6942 +class Foo 6943 +{ 6944 +public: 6945 + Foo (void) { a = 0; } 6946 +private: 6947 + int a; 6948 +}; 6949 +_LT_EOF 6950 +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 6951 + subroutine foo 6952 + implicit none 6953 + integer*4 a 6954 + a=0 6955 + return 6956 + end 6957 +_LT_EOF 6958 +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 6959 + subroutine foo 6960 + implicit none 6961 + integer a 6962 + a=0 6963 + return 6964 + end 6965 +_LT_EOF 6966 +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 6967 +public class foo { 6968 + private int a; 6969 + public void bar (void) { 6970 + a = 0; 6971 + } 6972 +}; 6973 +_LT_EOF 6974 +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF 6975 +package foo 6976 +func foo() { 6977 +} 6978 +_LT_EOF 6979 +]) 6980 + 6981 +_lt_libdeps_save_CFLAGS=$CFLAGS 6982 +case "$CC $CFLAGS " in #( 6983 +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; 6984 +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; 6985 +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; 6986 +esac 6987 + 6988 +dnl Parse the compiler output and extract the necessary 6989 +dnl objects, libraries and library flags. 6990 +if AC_TRY_EVAL(ac_compile); then 6991 + # Parse the compiler output and extract the necessary 6992 + # objects, libraries and library flags. 6993 + 6994 + # Sentinel used to keep track of whether or not we are before 6995 + # the conftest object file. 6996 + pre_test_object_deps_done=no 6997 + 6998 + for p in `eval "$output_verbose_link_cmd"`; do 6999 + case ${prev}${p} in 7000 + 7001 + -L* | -R* | -l*) 7002 + # Some compilers place space between "-{L,R}" and the path. 7003 + # Remove the space. 7004 + if test $p = "-L" || 7005 + test $p = "-R"; then 7006 + prev=$p 7007 + continue 7008 + fi 7009 + 7010 + # Expand the sysroot to ease extracting the directories later. 7011 + if test -z "$prev"; then 7012 + case $p in 7013 + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; 7014 + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; 7015 + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; 7016 + esac 7017 + fi 7018 + case $p in 7019 + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; 7020 + esac 7021 + if test "$pre_test_object_deps_done" = no; then 7022 + case ${prev} in 7023 + -L | -R) 7024 + # Internal compiler library paths should come after those 7025 + # provided the user. The postdeps already come after the 7026 + # user supplied libs so there is no need to process them. 7027 + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 7028 + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" 7029 + else 7030 + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" 7031 + fi 7032 + ;; 7033 + # The "-l" case would never come before the object being 7034 + # linked, so don't bother handling this case. 7035 + esac 7036 + else 7037 + if test -z "$_LT_TAGVAR(postdeps, $1)"; then 7038 + _LT_TAGVAR(postdeps, $1)="${prev}${p}" 7039 + else 7040 + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" 7041 + fi 7042 + fi 7043 + prev= 7044 + ;; 7045 + 7046 + *.lto.$objext) ;; # Ignore GCC LTO objects 7047 + *.$objext) 7048 + # This assumes that the test object file only shows up 7049 + # once in the compiler output. 7050 + if test "$p" = "conftest.$objext"; then 7051 + pre_test_object_deps_done=yes 7052 + continue 7053 + fi 7054 + 7055 + if test "$pre_test_object_deps_done" = no; then 7056 + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 7057 + _LT_TAGVAR(predep_objects, $1)="$p" 7058 + else 7059 + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 7060 + fi 7061 + else 7062 + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 7063 + _LT_TAGVAR(postdep_objects, $1)="$p" 7064 + else 7065 + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 7066 + fi 7067 + fi 7068 + ;; 7069 + 7070 + *) ;; # Ignore the rest. 7071 + 7072 + esac 7073 + done 7074 + 7075 + # Clean up. 7076 + rm -f a.out a.exe 7077 +else 7078 + echo "libtool.m4: error: problem compiling $1 test program" 7079 +fi 7080 + 7081 +$RM -f confest.$objext 7082 +CFLAGS=$_lt_libdeps_save_CFLAGS 7083 + 7084 +# PORTME: override above test on systems where it is broken 7085 +m4_if([$1], [CXX], 7086 +[case $host_os in 7087 +interix[[3-9]]*) 7088 + # Interix 3.5 installs completely hosed .la files for C++, so rather than 7089 + # hack all around it, let's just trust "g++" to DTRT. 7090 + _LT_TAGVAR(predep_objects,$1)= 7091 + _LT_TAGVAR(postdep_objects,$1)= 7092 + _LT_TAGVAR(postdeps,$1)= 7093 + ;; 7094 + 7095 +linux*) 7096 + case `$CC -V 2>&1 | sed 5q` in 7097 + *Sun\ C*) 7098 + # Sun C++ 5.9 7099 + 7100 + # The more standards-conforming stlport4 library is 7101 + # incompatible with the Cstd library. Avoid specifying 7102 + # it if it's in CXXFLAGS. Ignore libCrun as 7103 + # -library=stlport4 depends on it. 7104 + case " $CXX $CXXFLAGS " in 7105 + *" -library=stlport4 "*) 7106 + solaris_use_stlport4=yes 7107 + ;; 7108 + esac 7109 + 7110 + if test "$solaris_use_stlport4" != yes; then 7111 + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 7112 + fi 7113 + ;; 7114 + esac 7115 + ;; 7116 + 7117 +solaris*) 7118 + case $cc_basename in 7119 + CC* | sunCC*) 7120 + # The more standards-conforming stlport4 library is 7121 + # incompatible with the Cstd library. Avoid specifying 7122 + # it if it's in CXXFLAGS. Ignore libCrun as 7123 + # -library=stlport4 depends on it. 7124 + case " $CXX $CXXFLAGS " in 7125 + *" -library=stlport4 "*) 7126 + solaris_use_stlport4=yes 7127 + ;; 7128 + esac 7129 + 7130 + # Adding this requires a known-good setup of shared libraries for 7131 + # Sun compiler versions before 5.6, else PIC objects from an old 7132 + # archive will be linked into the output, leading to subtle bugs. 7133 + if test "$solaris_use_stlport4" != yes; then 7134 + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 7135 + fi 7136 + ;; 7137 + esac 7138 + ;; 7139 +esac 7140 +]) 7141 + 7142 +case " $_LT_TAGVAR(postdeps, $1) " in 7143 +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 7144 +esac 7145 + _LT_TAGVAR(compiler_lib_search_dirs, $1)= 7146 +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 7147 + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` 7148 +fi 7149 +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 7150 + [The directories searched by this compiler when creating a shared library]) 7151 +_LT_TAGDECL([], [predep_objects], [1], 7152 + [Dependencies to place before and after the objects being linked to 7153 + create a shared library]) 7154 +_LT_TAGDECL([], [postdep_objects], [1]) 7155 +_LT_TAGDECL([], [predeps], [1]) 7156 +_LT_TAGDECL([], [postdeps], [1]) 7157 +_LT_TAGDECL([], [compiler_lib_search_path], [1], 7158 + [The library search path used internally by the compiler when linking 7159 + a shared library]) 7160 +])# _LT_SYS_HIDDEN_LIBDEPS 7161 + 7162 + 7163 +# _LT_LANG_F77_CONFIG([TAG]) 7164 +# -------------------------- 7165 +# Ensure that the configuration variables for a Fortran 77 compiler are 7166 +# suitably defined. These variables are subsequently used by _LT_CONFIG 7167 +# to write the compiler configuration to `libtool'. 7168 +m4_defun([_LT_LANG_F77_CONFIG], 7169 +[AC_LANG_PUSH(Fortran 77) 7170 +if test -z "$F77" || test "X$F77" = "Xno"; then 7171 + _lt_disable_F77=yes 7172 +fi 7173 + 7174 +_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7175 +_LT_TAGVAR(allow_undefined_flag, $1)= 7176 +_LT_TAGVAR(always_export_symbols, $1)=no 7177 +_LT_TAGVAR(archive_expsym_cmds, $1)= 7178 +_LT_TAGVAR(export_dynamic_flag_spec, $1)= 7179 +_LT_TAGVAR(hardcode_direct, $1)=no 7180 +_LT_TAGVAR(hardcode_direct_absolute, $1)=no 7181 +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 7182 +_LT_TAGVAR(hardcode_libdir_separator, $1)= 7183 +_LT_TAGVAR(hardcode_minus_L, $1)=no 7184 +_LT_TAGVAR(hardcode_automatic, $1)=no 7185 +_LT_TAGVAR(inherit_rpath, $1)=no 7186 +_LT_TAGVAR(module_cmds, $1)= 7187 +_LT_TAGVAR(module_expsym_cmds, $1)= 7188 +_LT_TAGVAR(link_all_deplibs, $1)=unknown 7189 +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7190 +_LT_TAGVAR(reload_flag, $1)=$reload_flag 7191 +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 7192 +_LT_TAGVAR(no_undefined_flag, $1)= 7193 +_LT_TAGVAR(whole_archive_flag_spec, $1)= 7194 +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 7195 + 7196 +# Source file extension for f77 test sources. 7197 +ac_ext=f 7198 + 7199 +# Object file extension for compiled f77 test sources. 7200 +objext=o 7201 +_LT_TAGVAR(objext, $1)=$objext 7202 + 7203 +# No sense in running all these tests if we already determined that 7204 +# the F77 compiler isn't working. Some variables (like enable_shared) 7205 +# are currently assumed to apply to all compilers on this platform, 7206 +# and will be corrupted by setting them based on a non-working compiler. 7207 +if test "$_lt_disable_F77" != yes; then 7208 + # Code to be used in simple compile tests 7209 + lt_simple_compile_test_code="\ 7210 + subroutine t 7211 + return 7212 + end 7213 +" 7214 + 7215 + # Code to be used in simple link tests 7216 + lt_simple_link_test_code="\ 7217 + program t 7218 + end 7219 +" 7220 + 7221 + # ltmain only uses $CC for tagged configurations so make sure $CC is set. 7222 + _LT_TAG_COMPILER 7223 + 7224 + # save warnings/boilerplate of simple test code 7225 + _LT_COMPILER_BOILERPLATE 7226 + _LT_LINKER_BOILERPLATE 7227 + 7228 + # Allow CC to be a program name with arguments. 7229 + lt_save_CC="$CC" 7230 + lt_save_GCC=$GCC 7231 + lt_save_CFLAGS=$CFLAGS 7232 + CC=${F77-"f77"} 7233 + CFLAGS=$FFLAGS 7234 + compiler=$CC 7235 + _LT_TAGVAR(compiler, $1)=$CC 7236 + _LT_CC_BASENAME([$compiler]) 7237 + GCC=$G77 7238 + if test -n "$compiler"; then 7239 + AC_MSG_CHECKING([if libtool supports shared libraries]) 7240 + AC_MSG_RESULT([$can_build_shared]) 7241 + 7242 + AC_MSG_CHECKING([whether to build shared libraries]) 7243 + test "$can_build_shared" = "no" && enable_shared=no 7244 + 7245 + # On AIX, shared libraries and static libraries use the same namespace, and 7246 + # are all built from PIC. 7247 + case $host_os in 7248 + aix3*) 7249 + test "$enable_shared" = yes && enable_static=no 7250 + if test -n "$RANLIB"; then 7251 + archive_cmds="$archive_cmds~\$RANLIB \$lib" 7252 + postinstall_cmds='$RANLIB $lib' 7253 + fi 7254 + ;; 7255 + aix[[4-9]]*) 7256 + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 7257 + test "$enable_shared" = yes && enable_static=no 7258 + fi 7259 + ;; 7260 + esac 7261 + AC_MSG_RESULT([$enable_shared]) 7262 + 7263 + AC_MSG_CHECKING([whether to build static libraries]) 7264 + # Make sure either enable_shared or enable_static is yes. 7265 + test "$enable_shared" = yes || enable_static=yes 7266 + AC_MSG_RESULT([$enable_static]) 7267 + 7268 + _LT_TAGVAR(GCC, $1)="$G77" 7269 + _LT_TAGVAR(LD, $1)="$LD" 7270 + 7271 + ## CAVEAT EMPTOR: 7272 + ## There is no encapsulation within the following macros, do not change 7273 + ## the running order or otherwise move them around unless you know exactly 7274 + ## what you are doing... 7275 + _LT_COMPILER_PIC($1) 7276 + _LT_COMPILER_C_O($1) 7277 + _LT_COMPILER_FILE_LOCKS($1) 7278 + _LT_LINKER_SHLIBS($1) 7279 + _LT_SYS_DYNAMIC_LINKER($1) 7280 + _LT_LINKER_HARDCODE_LIBPATH($1) 7281 + 7282 + _LT_CONFIG($1) 7283 + fi # test -n "$compiler" 7284 + 7285 + GCC=$lt_save_GCC 7286 + CC="$lt_save_CC" 7287 + CFLAGS="$lt_save_CFLAGS" 7288 +fi # test "$_lt_disable_F77" != yes 7289 + 7290 +AC_LANG_POP 7291 +])# _LT_LANG_F77_CONFIG 7292 + 7293 + 7294 +# _LT_LANG_FC_CONFIG([TAG]) 7295 +# ------------------------- 7296 +# Ensure that the configuration variables for a Fortran compiler are 7297 +# suitably defined. These variables are subsequently used by _LT_CONFIG 7298 +# to write the compiler configuration to `libtool'. 7299 +m4_defun([_LT_LANG_FC_CONFIG], 7300 +[AC_LANG_PUSH(Fortran) 7301 + 7302 +if test -z "$FC" || test "X$FC" = "Xno"; then 7303 + _lt_disable_FC=yes 7304 +fi 7305 + 7306 +_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7307 +_LT_TAGVAR(allow_undefined_flag, $1)= 7308 +_LT_TAGVAR(always_export_symbols, $1)=no 7309 +_LT_TAGVAR(archive_expsym_cmds, $1)= 7310 +_LT_TAGVAR(export_dynamic_flag_spec, $1)= 7311 +_LT_TAGVAR(hardcode_direct, $1)=no 7312 +_LT_TAGVAR(hardcode_direct_absolute, $1)=no 7313 +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 7314 +_LT_TAGVAR(hardcode_libdir_separator, $1)= 7315 +_LT_TAGVAR(hardcode_minus_L, $1)=no 7316 +_LT_TAGVAR(hardcode_automatic, $1)=no 7317 +_LT_TAGVAR(inherit_rpath, $1)=no 7318 +_LT_TAGVAR(module_cmds, $1)= 7319 +_LT_TAGVAR(module_expsym_cmds, $1)= 7320 +_LT_TAGVAR(link_all_deplibs, $1)=unknown 7321 +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7322 +_LT_TAGVAR(reload_flag, $1)=$reload_flag 7323 +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 7324 +_LT_TAGVAR(no_undefined_flag, $1)= 7325 +_LT_TAGVAR(whole_archive_flag_spec, $1)= 7326 +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 7327 + 7328 +# Source file extension for fc test sources. 7329 +ac_ext=${ac_fc_srcext-f} 7330 + 7331 +# Object file extension for compiled fc test sources. 7332 +objext=o 7333 +_LT_TAGVAR(objext, $1)=$objext 7334 + 7335 +# No sense in running all these tests if we already determined that 7336 +# the FC compiler isn't working. Some variables (like enable_shared) 7337 +# are currently assumed to apply to all compilers on this platform, 7338 +# and will be corrupted by setting them based on a non-working compiler. 7339 +if test "$_lt_disable_FC" != yes; then 7340 + # Code to be used in simple compile tests 7341 + lt_simple_compile_test_code="\ 7342 + subroutine t 7343 + return 7344 + end 7345 +" 7346 + 7347 + # Code to be used in simple link tests 7348 + lt_simple_link_test_code="\ 7349 + program t 7350 + end 7351 +" 7352 + 7353 + # ltmain only uses $CC for tagged configurations so make sure $CC is set. 7354 + _LT_TAG_COMPILER 7355 + 7356 + # save warnings/boilerplate of simple test code 7357 + _LT_COMPILER_BOILERPLATE 7358 + _LT_LINKER_BOILERPLATE 7359 + 7360 + # Allow CC to be a program name with arguments. 7361 + lt_save_CC="$CC" 7362 + lt_save_GCC=$GCC 7363 + lt_save_CFLAGS=$CFLAGS 7364 + CC=${FC-"f95"} 7365 + CFLAGS=$FCFLAGS 7366 + compiler=$CC 7367 + GCC=$ac_cv_fc_compiler_gnu 7368 + 7369 + _LT_TAGVAR(compiler, $1)=$CC 7370 + _LT_CC_BASENAME([$compiler]) 7371 + 7372 + if test -n "$compiler"; then 7373 + AC_MSG_CHECKING([if libtool supports shared libraries]) 7374 + AC_MSG_RESULT([$can_build_shared]) 7375 + 7376 + AC_MSG_CHECKING([whether to build shared libraries]) 7377 + test "$can_build_shared" = "no" && enable_shared=no 7378 + 7379 + # On AIX, shared libraries and static libraries use the same namespace, and 7380 + # are all built from PIC. 7381 + case $host_os in 7382 + aix3*) 7383 + test "$enable_shared" = yes && enable_static=no 7384 + if test -n "$RANLIB"; then 7385 + archive_cmds="$archive_cmds~\$RANLIB \$lib" 7386 + postinstall_cmds='$RANLIB $lib' 7387 + fi 7388 + ;; 7389 + aix[[4-9]]*) 7390 + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 7391 + test "$enable_shared" = yes && enable_static=no 7392 + fi 7393 + ;; 7394 + esac 7395 + AC_MSG_RESULT([$enable_shared]) 7396 + 7397 + AC_MSG_CHECKING([whether to build static libraries]) 7398 + # Make sure either enable_shared or enable_static is yes. 7399 + test "$enable_shared" = yes || enable_static=yes 7400 + AC_MSG_RESULT([$enable_static]) 7401 + 7402 + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" 7403 + _LT_TAGVAR(LD, $1)="$LD" 7404 + 7405 + ## CAVEAT EMPTOR: 7406 + ## There is no encapsulation within the following macros, do not change 7407 + ## the running order or otherwise move them around unless you know exactly 7408 + ## what you are doing... 7409 + _LT_SYS_HIDDEN_LIBDEPS($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_SYS_DYNAMIC_LINKER($1) 7415 + _LT_LINKER_HARDCODE_LIBPATH($1) 7416 + 7417 + _LT_CONFIG($1) 7418 + fi # test -n "$compiler" 7419 + 7420 + GCC=$lt_save_GCC 7421 + CC=$lt_save_CC 7422 + CFLAGS=$lt_save_CFLAGS 7423 +fi # test "$_lt_disable_FC" != yes 7424 + 7425 +AC_LANG_POP 7426 +])# _LT_LANG_FC_CONFIG 7427 + 7428 + 7429 +# _LT_LANG_GCJ_CONFIG([TAG]) 7430 +# -------------------------- 7431 +# Ensure that the configuration variables for the GNU Java Compiler compiler 7432 +# are suitably defined. These variables are subsequently used by _LT_CONFIG 7433 +# to write the compiler configuration to `libtool'. 7434 +m4_defun([_LT_LANG_GCJ_CONFIG], 7435 +[AC_REQUIRE([LT_PROG_GCJ])dnl 7436 +AC_LANG_SAVE 7437 + 7438 +# Source file extension for Java test sources. 7439 +ac_ext=java 7440 + 7441 +# Object file extension for compiled Java test sources. 7442 +objext=o 7443 +_LT_TAGVAR(objext, $1)=$objext 7444 + 7445 +# Code to be used in simple compile tests 7446 +lt_simple_compile_test_code="class foo {}" 7447 + 7448 +# Code to be used in simple link tests 7449 +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 7450 + 7451 +# ltmain only uses $CC for tagged configurations so make sure $CC is set. 7452 +_LT_TAG_COMPILER 7453 + 7454 +# save warnings/boilerplate of simple test code 7455 +_LT_COMPILER_BOILERPLATE 7456 +_LT_LINKER_BOILERPLATE 7457 + 7458 +# Allow CC to be a program name with arguments. 7459 +lt_save_CC=$CC 7460 +lt_save_CFLAGS=$CFLAGS 7461 +lt_save_GCC=$GCC 7462 +GCC=yes 7463 +CC=${GCJ-"gcj"} 7464 +CFLAGS=$GCJFLAGS 7465 +compiler=$CC 7466 +_LT_TAGVAR(compiler, $1)=$CC 7467 +_LT_TAGVAR(LD, $1)="$LD" 7468 +_LT_CC_BASENAME([$compiler]) 7469 + 7470 +# GCJ did not exist at the time GCC didn't implicitly link libc in. 7471 +_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7472 + 7473 +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7474 +_LT_TAGVAR(reload_flag, $1)=$reload_flag 7475 +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 7476 + 7477 +## CAVEAT EMPTOR: 7478 +## There is no encapsulation within the following macros, do not change 7479 +## the running order or otherwise move them around unless you know exactly 7480 +## what you are doing... 7481 +if test -n "$compiler"; then 7482 + _LT_COMPILER_NO_RTTI($1) 7483 + _LT_COMPILER_PIC($1) 7484 + _LT_COMPILER_C_O($1) 7485 + _LT_COMPILER_FILE_LOCKS($1) 7486 + _LT_LINKER_SHLIBS($1) 7487 + _LT_LINKER_HARDCODE_LIBPATH($1) 7488 + 7489 + _LT_CONFIG($1) 7490 +fi 7491 + 7492 +AC_LANG_RESTORE 7493 + 7494 +GCC=$lt_save_GCC 7495 +CC=$lt_save_CC 7496 +CFLAGS=$lt_save_CFLAGS 7497 +])# _LT_LANG_GCJ_CONFIG 7498 + 7499 + 7500 +# _LT_LANG_GO_CONFIG([TAG]) 7501 +# -------------------------- 7502 +# Ensure that the configuration variables for the GNU Go compiler 7503 +# are suitably defined. These variables are subsequently used by _LT_CONFIG 7504 +# to write the compiler configuration to `libtool'. 7505 +m4_defun([_LT_LANG_GO_CONFIG], 7506 +[AC_REQUIRE([LT_PROG_GO])dnl 7507 +AC_LANG_SAVE 7508 + 7509 +# Source file extension for Go test sources. 7510 +ac_ext=go 7511 + 7512 +# Object file extension for compiled Go test sources. 7513 +objext=o 7514 +_LT_TAGVAR(objext, $1)=$objext 7515 + 7516 +# Code to be used in simple compile tests 7517 +lt_simple_compile_test_code="package main; func main() { }" 7518 + 7519 +# Code to be used in simple link tests 7520 +lt_simple_link_test_code='package main; func main() { }' 7521 + 7522 +# ltmain only uses $CC for tagged configurations so make sure $CC is set. 7523 +_LT_TAG_COMPILER 7524 + 7525 +# save warnings/boilerplate of simple test code 7526 +_LT_COMPILER_BOILERPLATE 7527 +_LT_LINKER_BOILERPLATE 7528 + 7529 +# Allow CC to be a program name with arguments. 7530 +lt_save_CC=$CC 7531 +lt_save_CFLAGS=$CFLAGS 7532 +lt_save_GCC=$GCC 7533 +GCC=yes 7534 +CC=${GOC-"gccgo"} 7535 +CFLAGS=$GOFLAGS 7536 +compiler=$CC 7537 +_LT_TAGVAR(compiler, $1)=$CC 7538 +_LT_TAGVAR(LD, $1)="$LD" 7539 +_LT_CC_BASENAME([$compiler]) 7540 + 7541 +# Go did not exist at the time GCC didn't implicitly link libc in. 7542 +_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7543 + 7544 +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7545 +_LT_TAGVAR(reload_flag, $1)=$reload_flag 7546 +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 7547 + 7548 +## CAVEAT EMPTOR: 7549 +## There is no encapsulation within the following macros, do not change 7550 +## the running order or otherwise move them around unless you know exactly 7551 +## what you are doing... 7552 +if test -n "$compiler"; then 7553 + _LT_COMPILER_NO_RTTI($1) 7554 + _LT_COMPILER_PIC($1) 7555 + _LT_COMPILER_C_O($1) 7556 + _LT_COMPILER_FILE_LOCKS($1) 7557 + _LT_LINKER_SHLIBS($1) 7558 + _LT_LINKER_HARDCODE_LIBPATH($1) 7559 + 7560 + _LT_CONFIG($1) 7561 +fi 7562 + 7563 +AC_LANG_RESTORE 7564 + 7565 +GCC=$lt_save_GCC 7566 +CC=$lt_save_CC 7567 +CFLAGS=$lt_save_CFLAGS 7568 +])# _LT_LANG_GO_CONFIG 7569 + 7570 + 7571 +# _LT_LANG_RC_CONFIG([TAG]) 7572 +# ------------------------- 7573 +# Ensure that the configuration variables for the Windows resource compiler 7574 +# are suitably defined. These variables are subsequently used by _LT_CONFIG 7575 +# to write the compiler configuration to `libtool'. 7576 +m4_defun([_LT_LANG_RC_CONFIG], 7577 +[AC_REQUIRE([LT_PROG_RC])dnl 7578 +AC_LANG_SAVE 7579 + 7580 +# Source file extension for RC test sources. 7581 +ac_ext=rc 7582 + 7583 +# Object file extension for compiled RC test sources. 7584 +objext=o 7585 +_LT_TAGVAR(objext, $1)=$objext 7586 + 7587 +# Code to be used in simple compile tests 7588 +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 7589 + 7590 +# Code to be used in simple link tests 7591 +lt_simple_link_test_code="$lt_simple_compile_test_code" 7592 + 7593 +# ltmain only uses $CC for tagged configurations so make sure $CC is set. 7594 +_LT_TAG_COMPILER 7595 + 7596 +# save warnings/boilerplate of simple test code 7597 +_LT_COMPILER_BOILERPLATE 7598 +_LT_LINKER_BOILERPLATE 7599 + 7600 +# Allow CC to be a program name with arguments. 7601 +lt_save_CC="$CC" 7602 +lt_save_CFLAGS=$CFLAGS 7603 +lt_save_GCC=$GCC 7604 +GCC= 7605 +CC=${RC-"windres"} 7606 +CFLAGS= 7607 +compiler=$CC 7608 +_LT_TAGVAR(compiler, $1)=$CC 7609 +_LT_CC_BASENAME([$compiler]) 7610 +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 7611 + 7612 +if test -n "$compiler"; then 7613 + : 7614 + _LT_CONFIG($1) 7615 +fi 7616 + 7617 +GCC=$lt_save_GCC 7618 +AC_LANG_RESTORE 7619 +CC=$lt_save_CC 7620 +CFLAGS=$lt_save_CFLAGS 7621 +])# _LT_LANG_RC_CONFIG 7622 + 7623 + 7624 +# LT_PROG_GCJ 7625 +# ----------- 7626 +AC_DEFUN([LT_PROG_GCJ], 7627 +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 7628 + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 7629 + [AC_CHECK_TOOL(GCJ, gcj,) 7630 + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" 7631 + AC_SUBST(GCJFLAGS)])])[]dnl 7632 +]) 7633 + 7634 +# Old name: 7635 +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 7636 +dnl aclocal-1.4 backwards compatibility: 7637 +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) 7638 + 7639 + 7640 +# LT_PROG_GO 7641 +# ---------- 7642 +AC_DEFUN([LT_PROG_GO], 7643 +[AC_CHECK_TOOL(GOC, gccgo,) 7644 +]) 7645 + 7646 + 7647 +# LT_PROG_RC 7648 +# ---------- 7649 +AC_DEFUN([LT_PROG_RC], 7650 +[AC_CHECK_TOOL(RC, windres,) 7651 +]) 7652 + 7653 +# Old name: 7654 +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 7655 +dnl aclocal-1.4 backwards compatibility: 7656 +dnl AC_DEFUN([LT_AC_PROG_RC], []) 7657 + 7658 + 7659 +# _LT_DECL_EGREP 7660 +# -------------- 7661 +# If we don't have a new enough Autoconf to choose the best grep 7662 +# available, choose the one first in the user's PATH. 7663 +m4_defun([_LT_DECL_EGREP], 7664 +[AC_REQUIRE([AC_PROG_EGREP])dnl 7665 +AC_REQUIRE([AC_PROG_FGREP])dnl 7666 +test -z "$GREP" && GREP=grep 7667 +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 7668 +_LT_DECL([], [EGREP], [1], [An ERE matcher]) 7669 +_LT_DECL([], [FGREP], [1], [A literal string matcher]) 7670 +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 7671 +AC_SUBST([GREP]) 7672 +]) 7673 + 7674 + 7675 +# _LT_DECL_OBJDUMP 7676 +# -------------- 7677 +# If we don't have a new enough Autoconf to choose the best objdump 7678 +# available, choose the one first in the user's PATH. 7679 +m4_defun([_LT_DECL_OBJDUMP], 7680 +[AC_CHECK_TOOL(OBJDUMP, objdump, false) 7681 +test -z "$OBJDUMP" && OBJDUMP=objdump 7682 +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 7683 +AC_SUBST([OBJDUMP]) 7684 +]) 7685 + 7686 +# _LT_DECL_DLLTOOL 7687 +# ---------------- 7688 +# Ensure DLLTOOL variable is set. 7689 +m4_defun([_LT_DECL_DLLTOOL], 7690 +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) 7691 +test -z "$DLLTOOL" && DLLTOOL=dlltool 7692 +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) 7693 +AC_SUBST([DLLTOOL]) 7694 +]) 7695 + 7696 +# _LT_DECL_SED 7697 +# ------------ 7698 +# Check for a fully-functional sed program, that truncates 7699 +# as few characters as possible. Prefer GNU sed if found. 7700 +m4_defun([_LT_DECL_SED], 7701 +[AC_PROG_SED 7702 +test -z "$SED" && SED=sed 7703 +Xsed="$SED -e 1s/^X//" 7704 +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 7705 +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 7706 + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 7707 +])# _LT_DECL_SED 7708 + 7709 +m4_ifndef([AC_PROG_SED], [ 7710 +############################################################ 7711 +# NOTE: This macro has been submitted for inclusion into # 7712 +# GNU Autoconf as AC_PROG_SED. When it is available in # 7713 +# a released version of Autoconf we should remove this # 7714 +# macro and use it instead. # 7715 +############################################################ 7716 + 7717 +m4_defun([AC_PROG_SED], 7718 +[AC_MSG_CHECKING([for a sed that does not truncate output]) 7719 +AC_CACHE_VAL(lt_cv_path_SED, 7720 +[# Loop through the user's path and test for sed and gsed. 7721 +# Then use that list of sed's as ones to test for truncation. 7722 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7723 +for as_dir in $PATH 7724 +do 7725 + IFS=$as_save_IFS 7726 + test -z "$as_dir" && as_dir=. 7727 + for lt_ac_prog in sed gsed; do 7728 + for ac_exec_ext in '' $ac_executable_extensions; do 7729 + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then 7730 + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" 7731 + fi 7732 + done 7733 + done 7734 +done 7735 +IFS=$as_save_IFS 7736 +lt_ac_max=0 7737 +lt_ac_count=0 7738 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris 7739 +# along with /bin/sed that truncates output. 7740 +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do 7741 + test ! -f $lt_ac_sed && continue 7742 + cat /dev/null > conftest.in 7743 + lt_ac_count=0 7744 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in 7745 + # Check for GNU sed and select it if it is found. 7746 + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then 7747 + lt_cv_path_SED=$lt_ac_sed 7748 + break 7749 + fi 7750 + while true; do 7751 + cat conftest.in conftest.in >conftest.tmp 7752 + mv conftest.tmp conftest.in 7753 + cp conftest.in conftest.nl 7754 + echo >>conftest.nl 7755 + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break 7756 + cmp -s conftest.out conftest.nl || break 7757 + # 10000 chars as input seems more than enough 7758 + test $lt_ac_count -gt 10 && break 7759 + lt_ac_count=`expr $lt_ac_count + 1` 7760 + if test $lt_ac_count -gt $lt_ac_max; then 7761 + lt_ac_max=$lt_ac_count 7762 + lt_cv_path_SED=$lt_ac_sed 7763 + fi 7764 + done 7765 +done 7766 +]) 7767 +SED=$lt_cv_path_SED 7768 +AC_SUBST([SED]) 7769 +AC_MSG_RESULT([$SED]) 7770 +])#AC_PROG_SED 7771 +])#m4_ifndef 7772 + 7773 +# Old name: 7774 +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) 7775 +dnl aclocal-1.4 backwards compatibility: 7776 +dnl AC_DEFUN([LT_AC_PROG_SED], []) 7777 + 7778 + 7779 +# _LT_CHECK_SHELL_FEATURES 7780 +# ------------------------ 7781 +# Find out whether the shell is Bourne or XSI compatible, 7782 +# or has some other useful features. 7783 +m4_defun([_LT_CHECK_SHELL_FEATURES], 7784 +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) 7785 +# Try some XSI features 7786 +xsi_shell=no 7787 +( _lt_dummy="a/b/c" 7788 + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ 7789 + = c,a/b,b/c, \ 7790 + && eval 'test $(( 1 + 1 )) -eq 2 \ 7791 + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ 7792 + && xsi_shell=yes 7793 +AC_MSG_RESULT([$xsi_shell]) 7794 +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) 7795 + 7796 +AC_MSG_CHECKING([whether the shell understands "+="]) 7797 +lt_shell_append=no 7798 +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ 7799 + >/dev/null 2>&1 \ 7800 + && lt_shell_append=yes 7801 +AC_MSG_RESULT([$lt_shell_append]) 7802 +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) 7803 + 7804 +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 7805 + lt_unset=unset 7806 +else 7807 + lt_unset=false 7808 +fi 7809 +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 7810 + 7811 +# test EBCDIC or ASCII 7812 +case `echo X|tr X '\101'` in 7813 + A) # ASCII based system 7814 + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 7815 + lt_SP2NL='tr \040 \012' 7816 + lt_NL2SP='tr \015\012 \040\040' 7817 + ;; 7818 + *) # EBCDIC based system 7819 + lt_SP2NL='tr \100 \n' 7820 + lt_NL2SP='tr \r\n \100\100' 7821 + ;; 7822 +esac 7823 +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 7824 +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 7825 +])# _LT_CHECK_SHELL_FEATURES 7826 + 7827 + 7828 +# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) 7829 +# ------------------------------------------------------ 7830 +# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and 7831 +# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. 7832 +m4_defun([_LT_PROG_FUNCTION_REPLACE], 7833 +[dnl { 7834 +sed -e '/^$1 ()$/,/^} # $1 /c\ 7835 +$1 ()\ 7836 +{\ 7837 +m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) 7838 +} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ 7839 + && mv -f "$cfgfile.tmp" "$cfgfile" \ 7840 + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") 7841 +test 0 -eq $? || _lt_function_replace_fail=: 7842 +]) 7843 + 7844 + 7845 +# _LT_PROG_REPLACE_SHELLFNS 7846 +# ------------------------- 7847 +# Replace existing portable implementations of several shell functions with 7848 +# equivalent extended shell implementations where those features are available.. 7849 +m4_defun([_LT_PROG_REPLACE_SHELLFNS], 7850 +[if test x"$xsi_shell" = xyes; then 7851 + _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl 7852 + case ${1} in 7853 + */*) func_dirname_result="${1%/*}${2}" ;; 7854 + * ) func_dirname_result="${3}" ;; 7855 + esac]) 7856 + 7857 + _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl 7858 + func_basename_result="${1##*/}"]) 7859 + 7860 + _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl 7861 + case ${1} in 7862 + */*) func_dirname_result="${1%/*}${2}" ;; 7863 + * ) func_dirname_result="${3}" ;; 7864 + esac 7865 + func_basename_result="${1##*/}"]) 7866 + 7867 + _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl 7868 + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are 7869 + # positional parameters, so assign one to ordinary parameter first. 7870 + func_stripname_result=${3} 7871 + func_stripname_result=${func_stripname_result#"${1}"} 7872 + func_stripname_result=${func_stripname_result%"${2}"}]) 7873 + 7874 + _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl 7875 + func_split_long_opt_name=${1%%=*} 7876 + func_split_long_opt_arg=${1#*=}]) 7877 + 7878 + _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl 7879 + func_split_short_opt_arg=${1#??} 7880 + func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) 7881 + 7882 + _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl 7883 + case ${1} in 7884 + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; 7885 + *) func_lo2o_result=${1} ;; 7886 + esac]) 7887 + 7888 + _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) 7889 + 7890 + _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) 7891 + 7892 + _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) 7893 +fi 7894 + 7895 +if test x"$lt_shell_append" = xyes; then 7896 + _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) 7897 + 7898 + _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl 7899 + func_quote_for_eval "${2}" 7900 +dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ 7901 + eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) 7902 + 7903 + # Save a `func_append' function call where possible by direct use of '+=' 7904 + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ 7905 + && mv -f "$cfgfile.tmp" "$cfgfile" \ 7906 + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") 7907 + test 0 -eq $? || _lt_function_replace_fail=: 7908 +else 7909 + # Save a `func_append' function call even when '+=' is not available 7910 + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ 7911 + && mv -f "$cfgfile.tmp" "$cfgfile" \ 7912 + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") 7913 + test 0 -eq $? || _lt_function_replace_fail=: 7914 +fi 7915 + 7916 +if test x"$_lt_function_replace_fail" = x":"; then 7917 + AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) 7918 +fi 7919 +]) 7920 + 7921 +# _LT_PATH_CONVERSION_FUNCTIONS 7922 +# ----------------------------- 7923 +# Determine which file name conversion functions should be used by 7924 +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed 7925 +# for certain cross-compile configurations and native mingw. 7926 +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], 7927 +[AC_REQUIRE([AC_CANONICAL_HOST])dnl 7928 +AC_REQUIRE([AC_CANONICAL_BUILD])dnl 7929 +AC_MSG_CHECKING([how to convert $build file names to $host format]) 7930 +AC_CACHE_VAL(lt_cv_to_host_file_cmd, 7931 +[case $host in 7932 + *-*-mingw* ) 7933 + case $build in 7934 + *-*-mingw* ) # actually msys 7935 + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 7936 + ;; 7937 + *-*-cygwin* ) 7938 + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 7939 + ;; 7940 + * ) # otherwise, assume *nix 7941 + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 7942 + ;; 7943 + esac 7944 + ;; 7945 + *-*-cygwin* ) 7946 + case $build in 7947 + *-*-mingw* ) # actually msys 7948 + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin 7949 + ;; 7950 + *-*-cygwin* ) 7951 + lt_cv_to_host_file_cmd=func_convert_file_noop 7952 + ;; 7953 + * ) # otherwise, assume *nix 7954 + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin 7955 + ;; 7956 + esac 7957 + ;; 7958 + * ) # unhandled hosts (and "normal" native builds) 7959 + lt_cv_to_host_file_cmd=func_convert_file_noop 7960 + ;; 7961 +esac 7962 +]) 7963 +to_host_file_cmd=$lt_cv_to_host_file_cmd 7964 +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) 7965 +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], 7966 + [0], [convert $build file names to $host format])dnl 7967 + 7968 +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) 7969 +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, 7970 +[#assume ordinary cross tools, or native build. 7971 +lt_cv_to_tool_file_cmd=func_convert_file_noop 7972 +case $host in 7973 + *-*-mingw* ) 7974 + case $build in 7975 + *-*-mingw* ) # actually msys 7976 + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 7977 + ;; 7978 + esac 7979 + ;; 7980 +esac 7981 +]) 7982 +to_tool_file_cmd=$lt_cv_to_tool_file_cmd 7983 +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) 7984 +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], 7985 + [0], [convert $build files to toolchain format])dnl 7986 +])# _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@<:@=PKGS@:>@], 330 + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], 331 + [lt_p=${PACKAGE-default} 332 + case $withval in 333 + yes|no) pic_mode=$withval ;; 334 + *) 335 + pic_mode=default 336 + # Look at the argument we got. We use all the common list separators. 337 + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," 338 + for lt_pkg in $withval; do 339 + IFS="$lt_save_ifs" 340 + if test "X$lt_pkg" = "X$lt_p"; then 341 + pic_mode=yes 342 + fi 343 + done 344 + IFS="$lt_save_ifs" 345 + ;; 346 + esac], 347 + [pic_mode=default]) 348 + 349 +test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) 350 + 351 +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl 352 +])# _LT_WITH_PIC 353 + 354 +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) 355 +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) 356 + 357 +# Old name: 358 +AU_DEFUN([AC_LIBTOOL_PICMODE], 359 +[_LT_SET_OPTION([LT_INIT], [pic-only]) 360 +AC_DIAGNOSE([obsolete], 361 +[$0: Remove this warning and the call to _LT_SET_OPTION when you 362 +put the `pic-only' option into LT_INIT's first parameter.]) 363 +]) 364 + 365 +dnl aclocal-1.4 backwards compatibility: 366 +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) 367 + 368 +## ----------------- ## 369 +## LTDL_INIT Options ## 370 +## ----------------- ## 371 + 372 +m4_define([_LTDL_MODE], []) 373 +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], 374 + [m4_define([_LTDL_MODE], [nonrecursive])]) 375 +LT_OPTION_DEFINE([LTDL_INIT], [recursive], 376 + [m4_define([_LTDL_MODE], [recursive])]) 377 +LT_OPTION_DEFINE([LTDL_INIT], [subproject], 378 + [m4_define([_LTDL_MODE], [subproject])]) 379 + 380 +m4_define([_LTDL_TYPE], []) 381 +LT_OPTION_DEFINE([LTDL_INIT], [installable], 382 + [m4_define([_LTDL_TYPE], [installable])]) 383 +LT_OPTION_DEFINE([LTDL_INIT], [convenience], 384 + [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 3337 ltversion.m4 13 +# This file is part of GNU Libtool 14 + 15 +m4_define([LT_PACKAGE_VERSION], [2.4.2]) 16 +m4_define([LT_PACKAGE_REVISION], [1.3337]) 17 + 18 +AC_DEFUN([LTVERSION_VERSION], 19 +[macro_version='2.4.2' 20 +macro_revision='1.3337' 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 missing.
1 +#! /bin/sh 2 +# Common stub for a few missing GNU programs while installing. 3 + 4 +scriptversion=2012-01-06.18; # UTC 5 + 6 +# Copyright (C) 1996-2012 Free Software Foundation, Inc. 7 +# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. 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 +if test $# -eq 0; then 28 + echo 1>&2 "Try '$0 --help' for more information" 29 + exit 1 30 +fi 31 + 32 +run=: 33 +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' 34 +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' 35 + 36 +# In the cases where this matters, 'missing' is being run in the 37 +# srcdir already. 38 +if test -f configure.ac; then 39 + configure_ac=configure.ac 40 +else 41 + configure_ac=configure.in 42 +fi 43 + 44 +msg="missing on your system" 45 + 46 +case $1 in 47 +--run) 48 + # Try to run requested program, and just exit if it succeeds. 49 + run= 50 + shift 51 + "$@" && exit 0 52 + # Exit code 63 means version mismatch. This often happens 53 + # when the user try to use an ancient version of a tool on 54 + # a file that requires a minimum version. In this case we 55 + # we should proceed has if the program had been absent, or 56 + # if --run hadn't been passed. 57 + if test $? = 63; then 58 + run=: 59 + msg="probably too old" 60 + fi 61 + ;; 62 + 63 + -h|--h|--he|--hel|--help) 64 + echo "\ 65 +$0 [OPTION]... PROGRAM [ARGUMENT]... 66 + 67 +Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an 68 +error status if there is no known handling for PROGRAM. 69 + 70 +Options: 71 + -h, --help display this help and exit 72 + -v, --version output version information and exit 73 + --run try to run the given command, and emulate it if it fails 74 + 75 +Supported PROGRAM values: 76 + aclocal touch file 'aclocal.m4' 77 + autoconf touch file 'configure' 78 + autoheader touch file 'config.h.in' 79 + autom4te touch the output file, or create a stub one 80 + automake touch all 'Makefile.in' files 81 + bison create 'y.tab.[ch]', if possible, from existing .[ch] 82 + flex create 'lex.yy.c', if possible, from existing .c 83 + help2man touch the output file 84 + lex create 'lex.yy.c', if possible, from existing .c 85 + makeinfo touch the output file 86 + yacc create 'y.tab.[ch]', if possible, from existing .[ch] 87 + 88 +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 89 +'g' are ignored when checking the name. 90 + 91 +Send bug reports to <bug-automake@gnu.org>." 92 + exit $? 93 + ;; 94 + 95 + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) 96 + echo "missing $scriptversion (GNU Automake)" 97 + exit $? 98 + ;; 99 + 100 + -*) 101 + echo 1>&2 "$0: Unknown '$1' option" 102 + echo 1>&2 "Try '$0 --help' for more information" 103 + exit 1 104 + ;; 105 + 106 +esac 107 + 108 +# normalize program name to check for. 109 +program=`echo "$1" | sed ' 110 + s/^gnu-//; t 111 + s/^gnu//; t 112 + s/^g//; t'` 113 + 114 +# Now exit if we have it, but it failed. Also exit now if we 115 +# don't have it and --version was passed (most likely to detect 116 +# the program). This is about non-GNU programs, so use $1 not 117 +# $program. 118 +case $1 in 119 + lex*|yacc*) 120 + # Not GNU programs, they don't have --version. 121 + ;; 122 + 123 + *) 124 + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 125 + # We have it, but it failed. 126 + exit 1 127 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then 128 + # Could not run --version or --help. This is probably someone 129 + # running '$TOOL --version' or '$TOOL --help' to check whether 130 + # $TOOL exists and not knowing $TOOL uses missing. 131 + exit 1 132 + fi 133 + ;; 134 +esac 135 + 136 +# If it does not exist, or fails to run (possibly an outdated version), 137 +# try to emulate it. 138 +case $program in 139 + aclocal*) 140 + echo 1>&2 "\ 141 +WARNING: '$1' is $msg. You should only need it if 142 + you modified 'acinclude.m4' or '${configure_ac}'. You might want 143 + to install the Automake and Perl packages. Grab them from 144 + any GNU archive site." 145 + touch aclocal.m4 146 + ;; 147 + 148 + autoconf*) 149 + echo 1>&2 "\ 150 +WARNING: '$1' is $msg. You should only need it if 151 + you modified '${configure_ac}'. You might want to install the 152 + Autoconf and GNU m4 packages. Grab them from any GNU 153 + archive site." 154 + touch configure 155 + ;; 156 + 157 + autoheader*) 158 + echo 1>&2 "\ 159 +WARNING: '$1' is $msg. You should only need it if 160 + you modified 'acconfig.h' or '${configure_ac}'. You might want 161 + to install the Autoconf and GNU m4 packages. Grab them 162 + from any GNU archive site." 163 + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` 164 + test -z "$files" && files="config.h" 165 + touch_files= 166 + for f in $files; do 167 + case $f in 168 + *:*) touch_files="$touch_files "`echo "$f" | 169 + sed -e 's/^[^:]*://' -e 's/:.*//'`;; 170 + *) touch_files="$touch_files $f.in";; 171 + esac 172 + done 173 + touch $touch_files 174 + ;; 175 + 176 + automake*) 177 + echo 1>&2 "\ 178 +WARNING: '$1' is $msg. You should only need it if 179 + you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. 180 + You might want to install the Automake and Perl packages. 181 + Grab them from any GNU archive site." 182 + find . -type f -name Makefile.am -print | 183 + sed 's/\.am$/.in/' | 184 + while read f; do touch "$f"; done 185 + ;; 186 + 187 + autom4te*) 188 + echo 1>&2 "\ 189 +WARNING: '$1' is needed, but is $msg. 190 + You might have modified some files without having the 191 + proper tools for further handling them. 192 + You can get '$1' as part of Autoconf from any GNU 193 + archive site." 194 + 195 + file=`echo "$*" | sed -n "$sed_output"` 196 + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 197 + if test -f "$file"; then 198 + touch $file 199 + else 200 + test -z "$file" || exec >$file 201 + echo "#! /bin/sh" 202 + echo "# Created by GNU Automake missing as a replacement of" 203 + echo "# $ $@" 204 + echo "exit 0" 205 + chmod +x $file 206 + exit 1 207 + fi 208 + ;; 209 + 210 + bison*|yacc*) 211 + echo 1>&2 "\ 212 +WARNING: '$1' $msg. You should only need it if 213 + you modified a '.y' file. You may need the Bison package 214 + in order for those modifications to take effect. You can get 215 + Bison from any GNU archive site." 216 + rm -f y.tab.c y.tab.h 217 + if test $# -ne 1; then 218 + eval LASTARG=\${$#} 219 + case $LASTARG in 220 + *.y) 221 + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` 222 + if test -f "$SRCFILE"; then 223 + cp "$SRCFILE" y.tab.c 224 + fi 225 + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` 226 + if test -f "$SRCFILE"; then 227 + cp "$SRCFILE" y.tab.h 228 + fi 229 + ;; 230 + esac 231 + fi 232 + if test ! -f y.tab.h; then 233 + echo >y.tab.h 234 + fi 235 + if test ! -f y.tab.c; then 236 + echo 'main() { return 0; }' >y.tab.c 237 + fi 238 + ;; 239 + 240 + lex*|flex*) 241 + echo 1>&2 "\ 242 +WARNING: '$1' is $msg. You should only need it if 243 + you modified a '.l' file. You may need the Flex package 244 + in order for those modifications to take effect. You can get 245 + Flex from any GNU archive site." 246 + rm -f lex.yy.c 247 + if test $# -ne 1; then 248 + eval LASTARG=\${$#} 249 + case $LASTARG in 250 + *.l) 251 + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` 252 + if test -f "$SRCFILE"; then 253 + cp "$SRCFILE" lex.yy.c 254 + fi 255 + ;; 256 + esac 257 + fi 258 + if test ! -f lex.yy.c; then 259 + echo 'main() { return 0; }' >lex.yy.c 260 + fi 261 + ;; 262 + 263 + help2man*) 264 + echo 1>&2 "\ 265 +WARNING: '$1' is $msg. You should only need it if 266 + you modified a dependency of a manual page. You may need the 267 + Help2man package in order for those modifications to take 268 + effect. You can get Help2man from any GNU archive site." 269 + 270 + file=`echo "$*" | sed -n "$sed_output"` 271 + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 272 + if test -f "$file"; then 273 + touch $file 274 + else 275 + test -z "$file" || exec >$file 276 + echo ".ab help2man is required to generate this page" 277 + exit $? 278 + fi 279 + ;; 280 + 281 + makeinfo*) 282 + echo 1>&2 "\ 283 +WARNING: '$1' is $msg. You should only need it if 284 + you modified a '.texi' or '.texinfo' file, or any other file 285 + indirectly affecting the aspect of the manual. The spurious 286 + call might also be the consequence of using a buggy 'make' (AIX, 287 + DU, IRIX). You might want to install the Texinfo package or 288 + the GNU make package. Grab either from any GNU archive site." 289 + # The file to touch is that specified with -o ... 290 + file=`echo "$*" | sed -n "$sed_output"` 291 + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 292 + if test -z "$file"; then 293 + # ... or it is the one specified with @setfilename ... 294 + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` 295 + file=`sed -n ' 296 + /^@setfilename/{ 297 + s/.* \([^ ]*\) *$/\1/ 298 + p 299 + q 300 + }' $infile` 301 + # ... or it is derived from the source name (dir/f.texi becomes f.info) 302 + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info 303 + fi 304 + # If the file does not exist, the user really needs makeinfo; 305 + # let's fail without touching anything. 306 + test -f $file || exit 1 307 + touch $file 308 + ;; 309 + 310 + *) 311 + echo 1>&2 "\ 312 +WARNING: '$1' is needed, and is $msg. 313 + You might have modified some files without having the 314 + proper tools for further handling them. Check the 'README' file, 315 + it often tells you about the needed prerequisites for installing 316 + this package. You may also peek at any GNU archive site, in case 317 + some other package would contain this missing '$1' program." 318 + exit 1 319 + ;; 320 +esac 321 + 322 +exit 0 323 + 324 +# Local variables: 325 +# eval: (add-hook 'write-file-hooks 'time-stamp) 326 +# time-stamp-start: "scriptversion=" 327 +# time-stamp-format: "%:y-%02m-%02d.%02H" 328 +# time-stamp-time-zone: "UTC" 329 +# time-stamp-end: "; # UTC" 330 +# End:
Added virtualpg.c.
1 +/* 2 + 3 + virtualpg.c -- SQLite3 extension [VIRTUAL TABLE accessing PostgreSQL tables] 4 + 5 + version 1.0.2, 2017 June 3 6 + 7 + Author: Sandro Furieri a.furieri@lqt.it 8 + 9 + ----------------------------------------------------------------------------- 10 + 11 + Version: MPL 1.1/GPL 2.0/LGPL 2.1 12 + 13 + The contents of this file are subject to the Mozilla Public License Version 14 + 1.1 (the "License"); you may not use this file except in compliance with 15 + the License. You may obtain a copy of the License at 16 + http://www.mozilla.org/MPL/ 17 + 18 +Software distributed under the License is distributed on an "AS IS" basis, 19 +WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 20 +for the specific language governing rights and limitations under the 21 +License. 22 + 23 +The Original Code is the SpatiaLite library 24 + 25 +The Initial Developer of the Original Code is Alessandro Furieri 26 + 27 +Portions created by the Initial Developer are Copyright (C) 2013 28 +the Initial Developer. All Rights Reserved. 29 + 30 +Contributor(s): 31 + 32 +Alternatively, the contents of this file may be used under the terms of 33 +either the GNU General Public License Version 2 or later (the "GPL"), or 34 +the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 35 +in which case the provisions of the GPL or the LGPL are applicable instead 36 +of those above. If you wish to allow use of your version of this file only 37 +under the terms of either the GPL or the LGPL, and not to allow others to 38 +use your version of this file under the terms of the MPL, indicate your 39 +decision by deleting the provisions above and replace them with the notice 40 +and other provisions required by the GPL or the LGPL. If you do not delete 41 +the provisions above, a recipient may use your version of this file under 42 +the terms of any one of the MPL, the GPL or the LGPL. 43 + 44 +*/ 45 + 46 +#include <stdlib.h> 47 +#include <stdio.h> 48 +#include <string.h> 49 + 50 +#include <libpq-fe.h> 51 +#include <sqlite3ext.h> 52 + 53 +SQLITE_EXTENSION_INIT1 struct sqlite3_module my_pg_module; 54 + 55 +#define SQLITEX_DATE 10001 56 +#define SQLITEX_TIME 10002 57 +#define SQLITEX_DATETIME 10003 58 +#define SQLITEX_BOOL 10004 59 + 60 +typedef struct VirtualPgStruct 61 +{ 62 +/* extends the sqlite3_vtab struct */ 63 + const sqlite3_module *pModule; /* ptr to sqlite module: USED INTERNALLY BY SQLITE */ 64 + int nRef; /* # references: USED INTERNALLY BY SQLITE */ 65 + char *zErrMsg; /* error message: USE INTERNALLY BY SQLITE */ 66 + sqlite3 *db; /* the sqlite db holding the virtual table */ 67 + PGconn *pg_conn; /* Postgres connection handle */ 68 + char *pg_schema; /* the Postgres schema name */ 69 + char *pg_table; /* the Postgres table name */ 70 + int nColumns; /* number of columns into the table */ 71 + char **Column; /* the name for each column */ 72 + char **Type; /* the Postgres datatype for each column */ 73 + int *Mapping; /* the SQlite datatype for each column */ 74 + int *MaxSize; /* the max size (in bytes) for each column */ 75 + int *NotNull; /* NotNull clause for each column */ 76 + int newRowid; 77 + char **CTIDs; /* most recently used CTIDs array */ 78 + int nCTIDs; /* count of CTIDs items */ 79 + int readOnly; /* PostgreSQL readOnly mode */ 80 +} VirtualPg; 81 +typedef VirtualPg *VirtualPgPtr; 82 + 83 +typedef struct vpgSqliteValueStruct 84 +{ 85 +/* a multitype storing a column value */ 86 + int Type; /* current data-type */ 87 + sqlite3_int64 IntValue; /* INT value */ 88 + double DoubleValue; /* DOUBLE value */ 89 + char *Text; /* TEXT value */ 90 + unsigned char *Blob; /* BLOB value */ 91 + int Size; /* size (in bytes) for TEXT or BLOB */ 92 +} vpgSqliteValue; 93 +typedef vpgSqliteValue *vpgSqliteValuePtr; 94 + 95 +typedef struct VirtualPgCursorStruct 96 +{ 97 +/* extends the sqlite3_vtab_cursor struct */ 98 + VirtualPgPtr pVtab; /* Virtual table of this cursor */ 99 + PGresult *resultSet; /* Postgres result set Object */ 100 + int nRows; /* num rows into the result set */ 101 + int nFields; /* num cols into the result set */ 102 + int currentRow; /* the current row index */ 103 + int nColumns; /* number of columns */ 104 + vpgSqliteValuePtr *Values; /* the current-row value for each column */ 105 + int eof; /* the EOF marker */ 106 +} VirtualPgCursor; 107 +typedef VirtualPgCursor *VirtualPgCursorPtr; 108 + 109 +typedef struct vpgMemBufferStruct 110 +{ 111 +/* a struct handling a dynamically growing output buffer */ 112 + char *Buffer; 113 + size_t WriteOffset; 114 + size_t BufferSize; 115 + int Error; 116 +} vpgMemBuffer; 117 +typedef vpgMemBuffer *vpgMemBufferPtr; 118 + 119 +static void 120 +vpgMemBufferInitialize (vpgMemBufferPtr buf) 121 +{ 122 +/* initializing a dynamically growing output buffer */ 123 + buf->Buffer = NULL; 124 + buf->WriteOffset = 0; 125 + buf->BufferSize = 0; 126 + buf->Error = 0; 127 +} 128 + 129 +static void 130 +vpgMemBufferReset (vpgMemBufferPtr buf) 131 +{ 132 +/* cleaning a dynamically growing output buffer */ 133 + if (buf->Buffer) 134 + free (buf->Buffer); 135 + buf->Buffer = NULL; 136 + buf->WriteOffset = 0; 137 + buf->BufferSize = 0; 138 + buf->Error = 0; 139 +} 140 + 141 +static void 142 +vpgMemBufferAppend (vpgMemBufferPtr buf, const char *payload) 143 +{ 144 +/* appending into the buffer */ 145 + size_t size = strlen (payload); 146 + size_t free_size = buf->BufferSize - buf->WriteOffset; 147 + if (size > free_size) 148 + { 149 + /* we must allocate a bigger buffer */ 150 + size_t new_size; 151 + char *new_buf; 152 + if (buf->BufferSize == 0) 153 + new_size = size + 1024; 154 + else if (buf->BufferSize <= 4196) 155 + new_size = buf->BufferSize + size + 4196; 156 + else if (buf->BufferSize <= 65536) 157 + new_size = buf->BufferSize + size + 65536; 158 + else 159 + new_size = buf->BufferSize + size + (1024 * 1024); 160 + new_buf = malloc (new_size); 161 + if (!new_buf) 162 + { 163 + buf->Error = 1; 164 + return; 165 + } 166 + if (buf->Buffer) 167 + { 168 + strcpy (new_buf, buf->Buffer); 169 + free (buf->Buffer); 170 + } 171 + buf->Buffer = new_buf; 172 + buf->BufferSize = new_size; 173 + } 174 + strcpy (buf->Buffer + buf->WriteOffset, payload); 175 + buf->WriteOffset += size; 176 +} 177 + 178 +static vpgSqliteValuePtr 179 +vpgAllocValue (void) 180 +{ 181 +/* allocates and initialites a Value multitype */ 182 + vpgSqliteValuePtr p = malloc (sizeof (vpgSqliteValue)); 183 + p->Type = SQLITE_NULL; 184 + p->Text = NULL; 185 + p->Blob = NULL; 186 + return p; 187 +} 188 + 189 +static void 190 +vpgFreeValue (vpgSqliteValuePtr p) 191 +{ 192 +/* freeing a Value multitype */ 193 + if (!p) 194 + return; 195 + if (p->Text) 196 + free (p->Text); 197 + if (p->Blob) 198 + free (p->Blob); 199 + free (p); 200 +} 201 + 202 +static void 203 +vpgSetNullValue (vpgSqliteValuePtr p) 204 +{ 205 +/* setting a NULL value to the multitype */ 206 + if (!p) 207 + return; 208 + p->Type = SQLITE_NULL; 209 + if (p->Text) 210 + free (p->Text); 211 + if (p->Blob) 212 + free (p->Blob); 213 + p->Text = NULL; 214 + p->Blob = NULL; 215 +} 216 + 217 +static void 218 +vpgSetIntValue (vpgSqliteValuePtr p, const char *v) 219 +{ 220 +/* setting an INT value to the multitype */ 221 + sqlite3_int64 value = atoll (v); 222 + if (!p) 223 + return; 224 + p->Type = SQLITE_INTEGER; 225 + if (p->Text) 226 + free (p->Text); 227 + if (p->Blob) 228 + free (p->Blob); 229 + p->Text = NULL; 230 + p->Blob = NULL; 231 + p->IntValue = value; 232 +} 233 + 234 +static void 235 +vpgSetDoubleValue (vpgSqliteValuePtr p, const char *v) 236 +{ 237 +/* setting a DOUBLE value to the multitype */ 238 + double value = atof (v); 239 + if (!p) 240 + return; 241 + p->Type = SQLITE_FLOAT; 242 + if (p->Text) 243 + free (p->Text); 244 + if (p->Blob) 245 + free (p->Blob); 246 + p->Text = NULL; 247 + p->Blob = NULL; 248 + p->DoubleValue = value; 249 +} 250 + 251 +static void 252 +vpgSetDateValue (vpgSqliteValuePtr p, double v) 253 +{ 254 +/* setting a DOUBLE value to the multitype [DATE/TIME] */ 255 + if (!p) 256 + return; 257 + p->Type = SQLITE_FLOAT; 258 + if (p->Text) 259 + free (p->Text); 260 + if (p->Blob) 261 + free (p->Blob); 262 + p->Text = NULL; 263 + p->Blob = NULL; 264 + p->DoubleValue = v; 265 +} 266 + 267 +static void 268 +vpgSetBoolValue (vpgSqliteValuePtr p, const char *v) 269 +{ 270 +/* setting a BOOL value to the multitype */ 271 + if (!p) 272 + return; 273 + p->Type = SQLITE_INTEGER; 274 + if (p->Text) 275 + free (p->Text); 276 + if (p->Blob) 277 + free (p->Blob); 278 + p->Text = NULL; 279 + p->Blob = NULL; 280 + p->IntValue = 1; 281 + if (strcmp (v, "f") == 0) 282 + p->IntValue = 0; 283 +} 284 + 285 +static void 286 +vpgSetTextValue (vpgSqliteValuePtr p, const char *value) 287 +{ 288 +/* setting a TEXT value to the multitype */ 289 + int size = strlen (value); 290 + if (!p) 291 + return; 292 + p->Type = SQLITE_TEXT; 293 + if (p->Text) 294 + free (p->Text); 295 + if (p->Blob) 296 + free (p->Blob); 297 + p->Blob = NULL; 298 + p->Text = malloc (size); 299 + memcpy (p->Text, value, size); 300 + p->Size = size; 301 +} 302 + 303 +static double 304 +vpgMakeJulianDay (sqlite3 * db, const char *value) 305 +{ 306 +/* computing a Julian Day */ 307 + int ret; 308 + sqlite3_stmt *stmt; 309 + double julian; 310 + const char *sql = "SELECT JulianDay(?)"; 311 + ret = sqlite3_prepare_v2 (db, sql, strlen (sql), &stmt, NULL); 312 + if (ret != SQLITE_OK) 313 + { 314 + fprintf (stderr, "SQL error (JulianDay): %s\n", sqlite3_errmsg (db)); 315 + return 0.0; 316 + } 317 + sqlite3_reset (stmt); 318 + sqlite3_clear_bindings (stmt); 319 + sqlite3_bind_text (stmt, 1, value, strlen (value), SQLITE_STATIC); 320 + ret = sqlite3_step (stmt); 321 + if (ret == SQLITE_ROW) 322 + julian = sqlite3_column_double (stmt, 0); 323 + else 324 + { 325 + fprintf (stderr, "SQL error (JulianDay): %s\n", sqlite3_errmsg (db)); 326 + sqlite3_finalize (stmt); 327 + return 0.0; 328 + } 329 + sqlite3_finalize (stmt); 330 + return julian; 331 +} 332 + 333 +static char * 334 +vpgMakeDate (sqlite3 * db, double value) 335 +{ 336 +/* tranforming a Julian Day into a DATE */ 337 + int ret; 338 + sqlite3_stmt *stmt; 339 + const char *str; 340 + char *dt; 341 + const char *sql = "SELECT Date(?)"; 342 + ret = sqlite3_prepare_v2 (db, sql, strlen (sql), &stmt, NULL); 343 + if (ret != SQLITE_OK) 344 + { 345 + fprintf (stderr, "SQL error (Date): %s\n", sqlite3_errmsg (db)); 346 + return sqlite3_mprintf ("%s", "1900-01-01"); 347 + } 348 + sqlite3_reset (stmt); 349 + sqlite3_clear_bindings (stmt); 350 + sqlite3_bind_double (stmt, 1, value); 351 + ret = sqlite3_step (stmt); 352 + if (ret == SQLITE_ROW) 353 + { 354 + str = (const char *) sqlite3_column_text (stmt, 0); 355 + dt = sqlite3_mprintf ("%s", str); 356 + } 357 + else 358 + { 359 + fprintf (stderr, "SQL error (Date): %s\n", sqlite3_errmsg (db)); 360 + sqlite3_finalize (stmt); 361 + return sqlite3_mprintf ("%s", "1900-01-01"); 362 + } 363 + sqlite3_finalize (stmt); 364 + return dt; 365 +} 366 + 367 +static char * 368 +vpgMakeTime (sqlite3 * db, double value) 369 +{ 370 +/* tranforming a Julian Day into a TIME */ 371 + int ret; 372 + sqlite3_stmt *stmt; 373 + const char *str; 374 + char *dt; 375 + const char *sql = "SELECT Time(?)"; 376 + ret = sqlite3_prepare_v2 (db, sql, strlen (sql), &stmt, NULL); 377 + if (ret != SQLITE_OK) 378 + { 379 + fprintf (stderr, "SQL error (Time): %s\n", sqlite3_errmsg (db)); 380 + return sqlite3_mprintf ("%s", "12:00:00.000"); 381 + } 382 + sqlite3_reset (stmt); 383 + sqlite3_clear_bindings (stmt); 384 + sqlite3_bind_double (stmt, 1, value); 385 + ret = sqlite3_step (stmt); 386 + if (ret == SQLITE_ROW) 387 + { 388 + str = (const char *) sqlite3_column_text (stmt, 0); 389 + dt = sqlite3_mprintf ("%s", str); 390 + } 391 + else 392 + { 393 + fprintf (stderr, "SQL error (Time): %s\n", sqlite3_errmsg (db)); 394 + sqlite3_finalize (stmt); 395 + return sqlite3_mprintf ("%s", "12:00:00.000"); 396 + } 397 + sqlite3_finalize (stmt); 398 + return dt; 399 +} 400 + 401 +static char * 402 +vpgMakeDatetime (sqlite3 * db, double value) 403 +{ 404 +/* tranforming a Julian Day into a TIMESTAMP */ 405 + int ret; 406 + sqlite3_stmt *stmt; 407 + const char *str; 408 + char *dt; 409 + const char *sql = "SELECT Datetime(?)"; 410 + ret = sqlite3_prepare_v2 (db, sql, strlen (sql), &stmt, NULL); 411 + if (ret != SQLITE_OK) 412 + { 413 + fprintf (stderr, "SQL error (Datetime): %s\n", sqlite3_errmsg (db)); 414 + return sqlite3_mprintf ("%s", "1900-01-01 12:00:00.000"); 415 + } 416 + sqlite3_reset (stmt); 417 + sqlite3_clear_bindings (stmt); 418 + sqlite3_bind_double (stmt, 1, value); 419 + ret = sqlite3_step (stmt); 420 + if (ret == SQLITE_ROW) 421 + { 422 + str = (const char *) sqlite3_column_text (stmt, 0); 423 + dt = sqlite3_mprintf ("%s", str); 424 + } 425 + else 426 + { 427 + fprintf (stderr, "SQL error (Datetime): %s\n", sqlite3_errmsg (db)); 428 + sqlite3_finalize (stmt); 429 + return sqlite3_mprintf ("%s", "1900-01-01 12:00:00.000"); 430 + } 431 + sqlite3_finalize (stmt); 432 + return dt; 433 +} 434 + 435 +static char * 436 +vpgMakeBool (int value) 437 +{ 438 +/* tranforming an INTEGER into a BOOL */ 439 + return sqlite3_mprintf ("%c", (value == 0) ? 'f' : 't'); 440 +} 441 + 442 +static char * 443 +vpgDoubleQuoted (const char *value) 444 +{ 445 +/* 446 +/ returns a well formatted TEXT value for SQL 447 +/ 1] strips trailing spaces 448 +/ 2] masks any QUOTE inside the string, appending another QUOTE 449 +*/ 450 + const char *p_in; 451 + const char *p_end; 452 + char qt = '"'; 453 + char *out; 454 + char *p_out; 455 + int len = 0; 456 + int i; 457 + 458 + if (!value) 459 + return NULL; 460 + 461 + p_end = value; 462 + for (i = (strlen (value) - 1); i >= 0; i--) 463 + { 464 + /* stripping trailing spaces */ 465 + p_end = value + i; 466 + if (value[i] != ' ') 467 + break; 468 + } 469 + 470 + p_in = value; 471 + while (p_in <= p_end) 472 + { 473 + /* computing the output length */ 474 + len++; 475 + if (*p_in == qt) 476 + len++; 477 + p_in++; 478 + } 479 + if (len == 1 && *value == ' ') 480 + { 481 + /* empty string */ 482 + len = 0; 483 + } 484 + 485 + out = malloc (len + 3); 486 + if (!out) 487 + return NULL; 488 + 489 + p_out = out; 490 + p_in = value; 491 + *p_out++ = '"'; 492 + if (len == 0) 493 + { 494 + /* empty string */ 495 + *p_out++ = '"'; 496 + *p_out = '\0'; 497 + return out; 498 + } 499 + while (p_in <= p_end) 500 + { 501 + /* creating the output string */ 502 + if (*p_in == qt) 503 + *p_out++ = qt; 504 + *p_out++ = *p_in++; 505 + } 506 + *p_out++ = '"'; 507 + *p_out = '\0'; 508 + return out; 509 +} 510 + 511 +static char * 512 +vpgDequoted (const char *value) 513 +{ 514 +/* 515 +/ returns a well formatted TEXT value 516 +/ 1] if the input string begins and ends with ' sigle quote will be the target 517 +/ 2] if the input string begins and ends with " double quote will be the target 518 +/ 3] in any othet case the string will simply be copied 519 +*/ 520 + const char *pi = value; 521 + const char *start; 522 + const char *end; 523 + char *clean; 524 + char *po; 525 + int len; 526 + char target; 527 + int mark = 0; 528 + if (value == NULL) 529 + return NULL; 530 + 531 + len = strlen (value); 532 + clean = malloc (len + 1); 533 + if (*(value + 0) == '"' && *(value + len - 1) == '"') 534 + target = '"'; 535 + else if (*(value + 0) == '\'' && *(value + len - 1) == '\'') 536 + target = '\''; 537 + else 538 + { 539 + /* no dequoting; simply copying */ 540 + strcpy (clean, value); 541 + return clean; 542 + } 543 + start = value; 544 + end = value + len - 1; 545 + po = clean; 546 + while (*pi != '\0') 547 + { 548 + if (mark) 549 + { 550 + if (*pi == target) 551 + { 552 + *po++ = *pi++; 553 + mark = 0; 554 + continue; 555 + } 556 + else 557 + { 558 + /* error: mismatching quote */ 559 + free (clean); 560 + return NULL; 561 + } 562 + } 563 + if (*pi == target) 564 + { 565 + if (pi == start || pi == end) 566 + { 567 + /* first or last char */ 568 + pi++; 569 + continue; 570 + } 571 + /* found a quote marker */ 572 + mark = 1; 573 + pi++; 574 + continue; 575 + } 576 + *po++ = *pi++; 577 + } 578 + *po = '\0'; 579 + return clean; 580 +} 581 + 582 +static const char * 583 +vpgGetCTID (VirtualPgPtr p_vt, int n) 584 +{ 585 +/* attempting to retrieve a CTID by its index */ 586 + if (p_vt->CTIDs == NULL) 587 + return NULL; 588 + if (n < 0 || n >= p_vt->nCTIDs) 589 + return NULL; 590 + return *(p_vt->CTIDs + n); 591 +} 592 + 593 +static int 594 +vpgMapType (const char *type) 595 +{ 596 +/* mapping a PostgreSQL data-type to SQLite */ 597 + if (strcmp (type, "int2") == 0) 598 + return SQLITE_INTEGER; 599 + if (strcmp (type, "int4") == 0) 600 + return SQLITE_INTEGER; 601 + if (strcmp (type, "int8") == 0) 602 + return SQLITE_INTEGER; 603 + if (strcmp (type, "float4") == 0) 604 + return SQLITE_FLOAT; 605 + if (strcmp (type, "float8") == 0) 606 + return SQLITE_FLOAT; 607 + if (strcmp (type, "money") == 0) 608 + return SQLITE_FLOAT; 609 + if (strcmp (type, "numeric") == 0) 610 + return SQLITE_FLOAT; 611 + if (strcmp (type, "date") == 0) 612 + return SQLITEX_DATE; 613 + if (strcmp (type, "time") == 0) 614 + return SQLITEX_TIME; 615 + if (strcmp (type, "timestamp") == 0) 616 + return SQLITEX_DATETIME; 617 + if (strcmp (type, "bool") == 0) 618 + return SQLITEX_BOOL; 619 + return SQLITE_TEXT; 620 +} 621 + 622 +static void 623 +vpgFreeTable (VirtualPgPtr p_vt) 624 +{ 625 +/* memory cleanup; freeing the virtual table struct */ 626 + int i; 627 + if (!p_vt) 628 + return; 629 + if (p_vt->pg_conn) 630 + PQfinish (p_vt->pg_conn); 631 + if (p_vt->pg_schema) 632 + sqlite3_free (p_vt->pg_schema); 633 + if (p_vt->pg_table) 634 + sqlite3_free (p_vt->pg_table); 635 + if (p_vt->Column) 636 + { 637 + for (i = 0; i < p_vt->nColumns; i++) 638 + { 639 + if (*(p_vt->Column + i)) 640 + sqlite3_free (*(p_vt->Column + i)); 641 + } 642 + sqlite3_free (p_vt->Column); 643 + } 644 + if (p_vt->Type) 645 + { 646 + for (i = 0; i < p_vt->nColumns; i++) 647 + { 648 + if (*(p_vt->Type + i)) 649 + sqlite3_free (*(p_vt->Type + i)); 650 + } 651 + sqlite3_free (p_vt->Type); 652 + } 653 + if (p_vt->Mapping) 654 + sqlite3_free (p_vt->Mapping); 655 + if (p_vt->MaxSize) 656 + sqlite3_free (p_vt->MaxSize); 657 + if (p_vt->NotNull) 658 + sqlite3_free (p_vt->NotNull); 659 + if (p_vt->CTIDs != NULL) 660 + { 661 + for (i = 0; i < p_vt->nCTIDs; i++) 662 + { 663 + if (*(p_vt->CTIDs + i) != NULL) 664 + free (*(p_vt->CTIDs + i)); 665 + } 666 + free (p_vt->CTIDs); 667 + } 668 + sqlite3_free (p_vt); 669 +} 670 + 671 +static int 672 +vpgInsertRow (VirtualPgPtr p_vt, int argc, sqlite3_value ** argv) 673 +{ 674 +/* trying to insert a row into the PostgreSQL real-table */ 675 + vpgMemBuffer sql_statement; 676 + char *sql; 677 + char *schema; 678 + char *table; 679 + char *xname; 680 + int c; 681 + int comma; 682 + PGresult *res; 683 + 684 +/* preparing the PostgreSQL query */ 685 + schema = vpgDoubleQuoted (p_vt->pg_schema); 686 + table = vpgDoubleQuoted (p_vt->pg_table); 687 + sql = sqlite3_mprintf ("INSERT INTO %s.%s (", schema, table); 688 + free (schema); 689 + free (table); 690 + vpgMemBufferInitialize (&sql_statement); 691 + vpgMemBufferAppend (&sql_statement, sql); 692 + sqlite3_free (sql); 693 + comma = 0; 694 + for (c = 0; c < p_vt->nColumns; c++) 695 + { 696 + /* column names */ 697 + xname = vpgDoubleQuoted (*(p_vt->Column + c)); 698 + if (comma) 699 + vpgMemBufferAppend (&sql_statement, ", "); 700 + vpgMemBufferAppend (&sql_statement, xname); 701 + free (xname); 702 + comma = 1; 703 + } 704 + vpgMemBufferAppend (&sql_statement, ") VALUES ("); 705 + comma = 0; 706 + for (c = 2; c < argc; c++) 707 + { 708 + /* column values */ 709 + int pg_type = *(p_vt->Mapping + c - 2); 710 + if (comma) 711 + vpgMemBufferAppend (&sql_statement, ", "); 712 + switch (pg_type) 713 + { 714 + case SQLITE_INTEGER: 715 + sql = sqlite3_mprintf ("%d", sqlite3_value_int (argv[c])); 716 + vpgMemBufferAppend (&sql_statement, sql); 717 + sqlite3_free (sql); 718 + break; 719 + case SQLITE_FLOAT: 720 + sql = 721 + sqlite3_mprintf ("%1.16f", sqlite3_value_double (argv[c])); 722 + vpgMemBufferAppend (&sql_statement, sql); 723 + sqlite3_free (sql); 724 + break; 725 + case SQLITEX_DATE: 726 + xname = vpgMakeDate (p_vt->db, sqlite3_value_double (argv[c])); 727 + sql = sqlite3_mprintf ("%Q", xname); 728 + sqlite3_free (xname); 729 + vpgMemBufferAppend (&sql_statement, sql); 730 + sqlite3_free (sql); 731 + break; 732 + case SQLITEX_TIME: 733 + xname = vpgMakeTime (p_vt->db, sqlite3_value_double (argv[c])); 734 + sql = sqlite3_mprintf ("%Q", xname); 735 + sqlite3_free (xname); 736 + vpgMemBufferAppend (&sql_statement, sql); 737 + sqlite3_free (sql); 738 + break; 739 + case SQLITEX_DATETIME: 740 + xname = 741 + vpgMakeDatetime (p_vt->db, sqlite3_value_double (argv[c])); 742 + sql = sqlite3_mprintf ("%Q", xname); 743 + sqlite3_free (xname); 744 + vpgMemBufferAppend (&sql_statement, sql); 745 + sqlite3_free (sql); 746 + break; 747 + case SQLITEX_BOOL: 748 + xname = vpgMakeBool (sqlite3_value_int (argv[c])); 749 + sql = sqlite3_mprintf ("%Q", xname); 750 + sqlite3_free (xname); 751 + vpgMemBufferAppend (&sql_statement, sql); 752 + sqlite3_free (sql); 753 + break; 754 + case SQLITE_TEXT: 755 + sql = 756 + sqlite3_mprintf ("%Q", 757 + (const char *) 758 + sqlite3_value_text (argv[c])); 759 + vpgMemBufferAppend (&sql_statement, sql); 760 + sqlite3_free (sql); 761 + break; 762 + default: 763 + vpgMemBufferAppend (&sql_statement, "NULL"); 764 + break; 765 + }; 766 + comma = 1; 767 + } 768 + vpgMemBufferAppend (&sql_statement, ")"); 769 + if (sql_statement.Error == 0 && sql_statement.Buffer != NULL) 770 + { 771 + res = PQexec (p_vt->pg_conn, sql_statement.Buffer); 772 + if (PQresultStatus (res) != PGRES_COMMAND_OK) 773 + goto illegal; 774 + vpgMemBufferReset (&sql_statement); 775 + PQclear (res); 776 + return SQLITE_OK; 777 + } 778 + illegal: 779 + fprintf (stderr, "INSERT failed: %s", PQerrorMessage (p_vt->pg_conn)); 780 + vpgMemBufferReset (&sql_statement); 781 + PQclear (res); 782 + return SQLITE_ERROR; 783 +} 784 + 785 +static int 786 +vpgUpdateRow (VirtualPgPtr p_vt, const char *ctid, int argc, 787 + sqlite3_value ** argv) 788 +{ 789 +/* trying to update a row into the PostgreSQL real-table */ 790 + vpgMemBuffer sql_statement; 791 + char *sql; 792 + char *schema; 793 + char *table; 794 + char *xname; 795 + int c; 796 + int comma; 797 + PGresult *res; 798 + 799 + if (p_vt->nColumns + 2 != argc) 800 + { 801 + fprintf (stderr, "UPDATE failed: mismatching argc count\n"); 802 + return SQLITE_ERROR; 803 + } 804 + 805 + 806 +/* preparing the PostgreSQL query */ 807 + schema = vpgDoubleQuoted (p_vt->pg_schema); 808 + table = vpgDoubleQuoted (p_vt->pg_table); 809 + sql = sqlite3_mprintf ("UPDATE %s.%s SET ", schema, table); 810 + free (schema); 811 + free (table); 812 + vpgMemBufferInitialize (&sql_statement); 813 + vpgMemBufferAppend (&sql_statement, sql); 814 + sqlite3_free (sql); 815 + comma = 0; 816 + for (c = 0; c < p_vt->nColumns; c++) 817 + { 818 + /* column names */ 819 + int pg_type = *(p_vt->Mapping + c); 820 + int c2 = c + 2; 821 + xname = vpgDoubleQuoted (*(p_vt->Column + c)); 822 + if (comma) 823 + vpgMemBufferAppend (&sql_statement, ", "); 824 + vpgMemBufferAppend (&sql_statement, xname); 825 + free (xname); 826 + vpgMemBufferAppend (&sql_statement, " = "); 827 + switch (pg_type) 828 + { 829 + case SQLITE_INTEGER: 830 + sql = sqlite3_mprintf ("%d", sqlite3_value_int (argv[c2])); 831 + vpgMemBufferAppend (&sql_statement, sql); 832 + sqlite3_free (sql); 833 + break; 834 + case SQLITE_FLOAT: 835 + sql = 836 + sqlite3_mprintf ("%1.16f", sqlite3_value_double (argv[c2])); 837 + vpgMemBufferAppend (&sql_statement, sql); 838 + sqlite3_free (sql); 839 + break; 840 + case SQLITEX_DATE: 841 + xname = vpgMakeDate (p_vt->db, sqlite3_value_double (argv[c])); 842 + sql = sqlite3_mprintf ("%Q", xname); 843 + sqlite3_free (xname); 844 + vpgMemBufferAppend (&sql_statement, sql); 845 + sqlite3_free (sql); 846 + break; 847 + case SQLITEX_TIME: 848 + xname = vpgMakeTime (p_vt->db, sqlite3_value_double (argv[c])); 849 + sql = sqlite3_mprintf ("%Q", xname); 850 + sqlite3_free (xname); 851 + vpgMemBufferAppend (&sql_statement, sql); 852 + sqlite3_free (sql); 853 + break; 854 + case SQLITEX_DATETIME: 855 + xname = 856 + vpgMakeDatetime (p_vt->db, sqlite3_value_double (argv[c])); 857 + sql = sqlite3_mprintf ("%Q", xname); 858 + sqlite3_free (xname); 859 + vpgMemBufferAppend (&sql_statement, sql); 860 + sqlite3_free (sql); 861 + break; 862 + case SQLITEX_BOOL: 863 + xname = vpgMakeBool (sqlite3_value_int (argv[c])); 864 + sql = sqlite3_mprintf ("%Q", xname); 865 + sqlite3_free (xname); 866 + vpgMemBufferAppend (&sql_statement, sql); 867 + sqlite3_free (sql); 868 + break; 869 + case SQLITE_TEXT: 870 + sql = 871 + sqlite3_mprintf ("%Q", 872 + (const char *) 873 + sqlite3_value_text (argv[c2])); 874 + vpgMemBufferAppend (&sql_statement, sql); 875 + sqlite3_free (sql); 876 + break; 877 + default: 878 + vpgMemBufferAppend (&sql_statement, "NULL"); 879 + break; 880 + }; 881 + comma = 1; 882 + } 883 + vpgMemBufferAppend (&sql_statement, " WHERE ctid = "); 884 + xname = sqlite3_mprintf ("%Q::tid", ctid); 885 + vpgMemBufferAppend (&sql_statement, xname); 886 + sqlite3_free (xname); 887 + 888 + if (sql_statement.Error == 0 && sql_statement.Buffer != NULL) 889 + { 890 + res = PQexec (p_vt->pg_conn, sql_statement.Buffer); 891 + if (PQresultStatus (res) != PGRES_COMMAND_OK) 892 + goto illegal; 893 + vpgMemBufferReset (&sql_statement); 894 + PQclear (res); 895 + return SQLITE_OK; 896 + } 897 + illegal: 898 + fprintf (stderr, "UPDATE failed: %s", PQerrorMessage (p_vt->pg_conn)); 899 + vpgMemBufferReset (&sql_statement); 900 + PQclear (res); 901 + return SQLITE_ERROR; 902 +} 903 + 904 +static int 905 +vpgDeleteRow (VirtualPgPtr p_vt, const char *ctid) 906 +{ 907 +/* trying to delete a row from the PostgreSQL real-table */ 908 + char *sql_statement; 909 + char *schema; 910 + char *table; 911 + PGresult *res; 912 + schema = vpgDoubleQuoted (p_vt->pg_schema); 913 + table = vpgDoubleQuoted (p_vt->pg_table); 914 + sql_statement = 915 + sqlite3_mprintf ("DELETE FROM %s.%s WHERE ctid = %Q::tid", schema, 916 + table, ctid); 917 + free (schema); 918 + free (table); 919 + res = PQexec (p_vt->pg_conn, sql_statement); 920 + sqlite3_free (sql_statement); 921 + if (PQresultStatus (res) != PGRES_COMMAND_OK) 922 + goto illegal; 923 + PQclear (res); 924 + return SQLITE_OK; 925 + illegal: 926 + fprintf (stderr, "DELETE failed: %s", PQerrorMessage (p_vt->pg_conn)); 927 + PQclear (res); 928 + return SQLITE_ERROR; 929 +} 930 + 931 +static void 932 +vpgReadRow (VirtualPgCursorPtr cursor) 933 +{ 934 +/* trying to read a row from PostgreSQL real-table */ 935 + int r; 936 + int c; 937 + PGresult *res = cursor->resultSet; 938 + vpgSqliteValuePtr value; 939 + if (cursor->currentRow >= cursor->nRows) 940 + { 941 + /* EOF condition */ 942 + cursor->eof = 1; 943 + return; 944 + } 945 + 946 + r = cursor->currentRow; 947 + for (c = 1; c < cursor->nFields; c++) 948 + { 949 + /* extracting/converting column values */ 950 + value = *(cursor->Values + c - 1); 951 + if (PQgetisnull (res, r, c)) 952 + vpgSetNullValue (value); 953 + else 954 + { 955 + const char *pg_value = PQgetvalue (res, r, c); 956 + switch (*(cursor->pVtab->Mapping + c - 1)) 957 + { 958 + case SQLITE_INTEGER: 959 + vpgSetIntValue (value, pg_value); 960 + break; 961 + case SQLITE_FLOAT: 962 + vpgSetDoubleValue (value, pg_value); 963 + break; 964 + case SQLITEX_DATE: 965 + case SQLITEX_TIME: 966 + case SQLITEX_DATETIME: 967 + vpgSetDateValue (value, 968 + vpgMakeJulianDay (cursor->pVtab->db, 969 + pg_value)); 970 + break; 971 + case SQLITEX_BOOL: 972 + vpgSetBoolValue (value, pg_value); 973 + break; 974 + case SQLITE_TEXT: 975 + vpgSetTextValue (value, pg_value); 976 + break; 977 + default: 978 + vpgSetNullValue (value); 979 + }; 980 + } 981 + } 982 +} 983 + 984 +static int 985 +vpg_create (sqlite3 * db, void *pAux, int argc, const char *const *argv, 986 + sqlite3_vtab ** ppVTab, char **pzErr) 987 +{ 988 +/* creates the virtual table connected to some PostgreSQL table */ 989 + char *vtable; 990 + char *conninfo; 991 + char *pg_schema; 992 + char *pg_table; 993 + char prefix[64]; 994 + char *xname; 995 + const char *col_name; 996 + const char *col_type; 997 + const char *is_not_null; 998 + int max_size; 999 + int not_null; 1000 + char *sql; 1001 + PGconn *pg_conn; 1002 + PGresult *res; 1003 + int nRows; 1004 + int nFields; 1005 + int r; 1006 + int len; 1007 + int readOnly = 1; 1008 + VirtualPgPtr p_vt = NULL; 1009 + vpgMemBuffer sql_statement; 1010 + 1011 + if (pAux) 1012 + pAux = pAux; /* unused arg warning suppression */ 1013 +/* checking arguments */ 1014 + if (argc == 6 || argc == 7) 1015 + { 1016 + vtable = vpgDequoted ((char *) argv[2]); 1017 + conninfo = vpgDequoted ((char *) argv[3]); 1018 + pg_schema = vpgDequoted ((char *) argv[4]); 1019 + pg_table = vpgDequoted ((char *) argv[5]); 1020 + if (argc == 7) 1021 + { 1022 + /* testing for W */ 1023 + char *wr = vpgDequoted ((char *) argv[6]); 1024 + if (strcmp (wr, "W") == 0) 1025 + readOnly = 0; 1026 + free (wr); 1027 + } 1028 + } 1029 + else 1030 + { 1031 + *pzErr = 1032 + sqlite3_mprintf 1033 + ("[VirtualPostgres] CREATE VIRTUAL: illegal arg list {conn_info, schema, table}\n"); 1034 + goto error; 1035 + } 1036 + 1037 +/* Make a connection to the PostgreSQL database */ 1038 + pg_conn = PQconnectdb (conninfo); 1039 + if (PQstatus (pg_conn) != CONNECTION_OK) 1040 + { 1041 + fprintf (stderr, "Connection to Postgres failed: %s", 1042 + PQerrorMessage (pg_conn)); 1043 + PQfinish (pg_conn); 1044 + return SQLITE_ERROR; 1045 + } 1046 + 1047 +/* retrieving the PosgreSQL table columns */ 1048 + sql = 1049 + sqlite3_mprintf 1050 + ("SELECT c.attname, d.typname, c.atttypmod, c.attnotnull " 1051 + "FROM pg_attribute AS c " "JOIN pg_class AS t ON (c.attrelid = t.oid) " 1052 + "JOIN pg_namespace AS s ON (t.relnamespace = s.oid) " 1053 + "JOIN pg_type AS d ON (c.atttypid = d.oid) " 1054 + "WHERE s.nspname = %Q AND t.relname = %Q AND c.attnum > 0 " 1055 + "ORDER BY c.attnum", pg_schema, pg_table); 1056 + res = PQexec (pg_conn, sql); 1057 + sqlite3_free (sql); 1058 + if (PQresultStatus (res) != PGRES_TUPLES_OK) 1059 + goto illegal; 1060 + nRows = PQntuples (res); 1061 + nFields = PQnfields (res); 1062 + if (nRows > 0 && nFields == 4) 1063 + { 1064 + p_vt = (VirtualPgPtr) sqlite3_malloc (sizeof (VirtualPg)); 1065 + if (!p_vt) 1066 + return SQLITE_NOMEM; 1067 + p_vt->db = db; 1068 + p_vt->readOnly = readOnly; 1069 + p_vt->pg_conn = pg_conn; 1070 + p_vt->nRef = 0; 1071 + p_vt->zErrMsg = NULL; 1072 + len = strlen (pg_schema); 1073 + p_vt->pg_schema = sqlite3_malloc (len + 1); 1074 + strcpy (p_vt->pg_schema, pg_schema); 1075 + len = strlen (pg_table); 1076 + p_vt->pg_table = sqlite3_malloc (len + 1); 1077 + strcpy (p_vt->pg_table, pg_table); 1078 + p_vt->nColumns = nRows; 1079 + p_vt->Column = sqlite3_malloc (sizeof (char *) * nRows); 1080 + p_vt->Type = sqlite3_malloc (sizeof (char *) * nRows); 1081 + p_vt->Mapping = sqlite3_malloc (sizeof (int) * nRows); 1082 + p_vt->MaxSize = sqlite3_malloc (sizeof (int) * nRows); 1083 + p_vt->NotNull = sqlite3_malloc (sizeof (int) * nRows); 1084 + p_vt->newRowid = 0; 1085 + for (r = 0; r < p_vt->nColumns; r++) 1086 + { 1087 + *(p_vt->Column + r) = NULL; 1088 + *(p_vt->Type + r) = NULL; 1089 + *(p_vt->Mapping + r) = SQLITE_NULL; 1090 + *(p_vt->MaxSize + r) = -1; 1091 + *(p_vt->NotNull + r) = -1; 1092 + } 1093 + for (r = 0; r < nRows; r++) 1094 + { 1095 + col_name = PQgetvalue (res, r, 0); 1096 + col_type = PQgetvalue (res, r, 1); 1097 + max_size = atoi (PQgetvalue (res, r, 2)); 1098 + if (max_size > 0) 1099 + max_size -= 4; 1100 + is_not_null = PQgetvalue (res, r, 3); 1101 + if (*is_not_null == 't') 1102 + not_null = 1; 1103 + else 1104 + not_null = 0; 1105 + len = strlen (col_name); 1106 + *(p_vt->Column + r) = sqlite3_malloc (len + 1); 1107 + strcpy (*(p_vt->Column + r), col_name); 1108 + len = strlen (col_type); 1109 + *(p_vt->Type + r) = sqlite3_malloc (len + 1); 1110 + strcpy (*(p_vt->Type + r), col_type); 1111 + *(p_vt->Mapping + r) = vpgMapType (col_type); 1112 + *(p_vt->MaxSize + r) = max_size; 1113 + *(p_vt->NotNull + r) = not_null; 1114 + } 1115 + } 1116 + PQclear (res); 1117 + res = NULL; 1118 + 1119 + if (p_vt == NULL) 1120 + goto illegal; 1121 + 1122 +/* preparing the COLUMNs for this VIRTUAL TABLE */ 1123 + vpgMemBufferInitialize (&sql_statement); 1124 + xname = vpgDoubleQuoted (vtable); 1125 + sql = sqlite3_mprintf ("CREATE TABLE %s ", xname); 1126 + free (xname); 1127 + vpgMemBufferAppend (&sql_statement, sql); 1128 + sqlite3_free (sql); 1129 + for (r = 0; r < p_vt->nColumns; r++) 1130 + { 1131 + if (r == 0) 1132 + strcpy (prefix, "("); 1133 + else 1134 + strcpy (prefix, ", "); 1135 + xname = vpgDoubleQuoted (*(p_vt->Column + r)); 1136 + if (*(p_vt->MaxSize + r) > 0) 1137 + { 1138 + if (*(p_vt->NotNull + r)) 1139 + sql = 1140 + sqlite3_mprintf ("%s%s %s(%d) NOT NULL", prefix, xname, 1141 + *(p_vt->Type + r), 1142 + *(p_vt->MaxSize + r)); 1143 + else 1144 + sql = 1145 + sqlite3_mprintf ("%s%s %s(%d)", prefix, xname, 1146 + *(p_vt->Type + r), 1147 + *(p_vt->MaxSize + r)); 1148 + } 1149 + else 1150 + { 1151 + if (*(p_vt->NotNull + r)) 1152 + sql = 1153 + sqlite3_mprintf ("%s%s %s NOT NULL", prefix, xname, 1154 + *(p_vt->Type + r)); 1155 + else 1156 + sql = 1157 + sqlite3_mprintf ("%s%s %s", prefix, xname, 1158 + *(p_vt->Type + r)); 1159 + } 1160 + free (xname); 1161 + vpgMemBufferAppend (&sql_statement, sql); 1162 + sqlite3_free (sql); 1163 + } 1164 + vpgMemBufferAppend (&sql_statement, ")"); 1165 + if (sql_statement.Error == 0 && sql_statement.Buffer != NULL) 1166 + { 1167 + if (sqlite3_declare_vtab (db, sql_statement.Buffer) != SQLITE_OK) 1168 + { 1169 + *pzErr = 1170 + sqlite3_mprintf 1171 + ("[VirtualPostgres] CREATE VIRTUAL: invalid SQL statement \"%s\"", 1172 + sql); 1173 + goto error; 1174 + } 1175 + vpgMemBufferReset (&sql_statement); 1176 + } 1177 + else 1178 + goto error; 1179 + p_vt->CTIDs = NULL; 1180 + p_vt->nCTIDs = 0; 1181 + *ppVTab = (sqlite3_vtab *) p_vt; 1182 + free (vtable); 1183 + free (conninfo); 1184 + free (pg_schema); 1185 + free (pg_table); 1186 + return SQLITE_OK; 1187 + illegal: 1188 +/* something has gone the wrong way */ 1189 + if (res != NULL) 1190 + PQclear (res); 1191 + *pzErr = 1192 + sqlite3_mprintf 1193 + ("[VirtualPostgres] '%s'.'%s' isn't a valid Postgres table\n", 1194 + pg_schema, pg_table); 1195 + 1196 + error: 1197 + if (vtable != NULL) 1198 + free (vtable); 1199 + if (conninfo != NULL) 1200 + free (conninfo); 1201 + if (pg_schema) 1202 + free (pg_schema); 1203 + if (pg_table) 1204 + free (pg_table); 1205 + if (p_vt) 1206 + vpgFreeTable (p_vt); 1207 + return SQLITE_ERROR; 1208 +} 1209 + 1210 +static int 1211 +vpg_connect (sqlite3 * db, void *pAux, int argc, const char *const *argv, 1212 + sqlite3_vtab ** ppVTab, char **pzErr) 1213 +{ 1214 +/* connects the virtual table to some shapefile - simply aliases vpg_create() */ 1215 + return vpg_create (db, pAux, argc, argv, ppVTab, pzErr); 1216 +} 1217 + 1218 +static int 1219 +vpg_best_index (sqlite3_vtab * pVTab, sqlite3_index_info * pIndex) 1220 +{ 1221 +/* best index selection */ 1222 + if (pVTab || pIndex) 1223 + pVTab = pVTab; /* unused arg warning suppression */ 1224 + return SQLITE_OK; 1225 +} 1226 + 1227 +static int 1228 +vpg_disconnect (sqlite3_vtab * pVTab) 1229 +{ 1230 +/* disconnects the virtual table */ 1231 + VirtualPgPtr p_vt = (VirtualPgPtr) pVTab; 1232 + vpgFreeTable (p_vt); 1233 + return SQLITE_OK; 1234 +} 1235 + 1236 +static int 1237 +vpg_destroy (sqlite3_vtab * pVTab) 1238 +{ 1239 +/* destroys the virtual table - simply aliases vpg_disconnect() */ 1240 + return vpg_disconnect (pVTab); 1241 +} 1242 + 1243 +static int 1244 +vpg_open (sqlite3_vtab * pVTab, sqlite3_vtab_cursor ** ppCursor) 1245 +{ 1246 +/* opening a new cursor */ 1247 + int c; 1248 + char *xname; 1249 + PGresult *res; 1250 + int nRows; 1251 + int nFields; 1252 + vpgMemBuffer sql_statement; 1253 + VirtualPgCursorPtr cursor = NULL; 1254 + VirtualPgPtr p_vt = (VirtualPgPtr) pVTab; 1255 + 1256 +/* preparing the PostgreSQL query */ 1257 + vpgMemBufferInitialize (&sql_statement); 1258 + vpgMemBufferAppend (&sql_statement, "SELECT ctid"); 1259 + for (c = 0; c < p_vt->nColumns; c++) 1260 + { 1261 + xname = vpgDoubleQuoted (*(p_vt->Column + c)); 1262 + vpgMemBufferAppend (&sql_statement, ", "); 1263 + vpgMemBufferAppend (&sql_statement, xname); 1264 + free (xname); 1265 + } 1266 + vpgMemBufferAppend (&sql_statement, " FROM "); 1267 + xname = vpgDoubleQuoted (p_vt->pg_schema); 1268 + vpgMemBufferAppend (&sql_statement, xname); 1269 + free (xname); 1270 + vpgMemBufferAppend (&sql_statement, "."); 1271 + xname = vpgDoubleQuoted (p_vt->pg_table); 1272 + vpgMemBufferAppend (&sql_statement, xname); 1273 + free (xname); 1274 + if (sql_statement.Error == 0 && sql_statement.Buffer != NULL) 1275 + { 1276 + res = PQexec (p_vt->pg_conn, sql_statement.Buffer); 1277 + if (PQresultStatus (res) != PGRES_TUPLES_OK) 1278 + goto illegal; 1279 + nRows = PQntuples (res); 1280 + nFields = PQnfields (res); 1281 + vpgMemBufferReset (&sql_statement); 1282 + } 1283 + else 1284 + return SQLITE_ERROR; 1285 + 1286 + cursor = (VirtualPgCursorPtr) sqlite3_malloc (sizeof (VirtualPgCursor)); 1287 + if (cursor == NULL) 1288 + return SQLITE_ERROR; 1289 + cursor->resultSet = res; 1290 + cursor->nRows = nRows; 1291 + cursor->nFields = nFields; 1292 + cursor->nColumns = p_vt->nColumns; 1293 + p_vt->newRowid = nRows; 1294 + cursor->Values = sqlite3_malloc (sizeof (vpgSqliteValue) * cursor->nFields); 1295 + for (c = 0; c < cursor->nColumns; c++) 1296 + { 1297 + vpgSqliteValue *val = vpgAllocValue (); 1298 + *(cursor->Values + c) = val; 1299 + } 1300 + cursor->pVtab = p_vt; 1301 + cursor->eof = 0; 1302 + cursor->currentRow = 0; 1303 +/* saving all CTIDs */ 1304 + if (p_vt->CTIDs != NULL) 1305 + { 1306 + for (c = 0; c < p_vt->nCTIDs; c++) 1307 + { 1308 + if (*(p_vt->CTIDs + c) != NULL) 1309 + free (*(p_vt->CTIDs + c)); 1310 + } 1311 + free (p_vt->CTIDs); 1312 + } 1313 + p_vt->CTIDs = NULL; 1314 + p_vt->nCTIDs = 0; 1315 + p_vt->nCTIDs = nRows; 1316 + if (nRows > 0) 1317 + { 1318 + p_vt->CTIDs = malloc (sizeof (char *) * nRows); 1319 + for (c = 0; c < nRows; c++) 1320 + { 1321 + const char *ctid = PQgetvalue (res, c, 0); 1322 + int len = strlen (ctid); 1323 + *(p_vt->CTIDs + c) = malloc (len + 1); 1324 + strcpy (*(p_vt->CTIDs + c), ctid); 1325 + } 1326 + } 1327 + 1328 + *ppCursor = (sqlite3_vtab_cursor *) cursor; 1329 + vpgReadRow (cursor); 1330 + return SQLITE_OK; 1331 + illegal: 1332 + PQclear (res); 1333 + return SQLITE_ERROR; 1334 +} 1335 + 1336 +static int 1337 +vpg_close (sqlite3_vtab_cursor * pCursor) 1338 +{ 1339 +/* closing the cursor */ 1340 + int c; 1341 + VirtualPgCursorPtr cursor = (VirtualPgCursorPtr) pCursor; 1342 + for (c = 0; c < cursor->nColumns; c++) 1343 + vpgFreeValue (*(cursor->Values + c)); 1344 + sqlite3_free (cursor->Values); 1345 + PQclear (cursor->resultSet); 1346 + sqlite3_free (pCursor); 1347 + return SQLITE_OK; 1348 +} 1349 + 1350 +static int 1351 +vpg_filter (sqlite3_vtab_cursor * pCursor, int idxNum, const char *idxStr, 1352 + int argc, sqlite3_value ** argv) 1353 +{ 1354 +/* setting up a cursor filter */ 1355 + if (pCursor || idxNum || idxStr || argc || argv) 1356 + pCursor = pCursor; /* unused arg warning suppression */ 1357 + return SQLITE_OK; 1358 +} 1359 + 1360 +static int 1361 +vpg_next (sqlite3_vtab_cursor * pCursor) 1362 +{ 1363 +/* fetching next row from cursor */ 1364 + VirtualPgCursorPtr cursor = (VirtualPgCursorPtr) pCursor; 1365 + (cursor->currentRow)++; 1366 + vpgReadRow (cursor); 1367 + return SQLITE_OK; 1368 +} 1369 + 1370 +static int 1371 +vpg_eof (sqlite3_vtab_cursor * pCursor) 1372 +{ 1373 +/* cursor EOF */ 1374 + VirtualPgCursorPtr cursor = (VirtualPgCursorPtr) pCursor; 1375 + return cursor->eof; 1376 +} 1377 + 1378 +static int 1379 +vpg_column (sqlite3_vtab_cursor * pCursor, sqlite3_context * pContext, 1380 + int column) 1381 +{ 1382 +/* fetching value for the Nth column */ 1383 + VirtualPgCursorPtr cursor = (VirtualPgCursorPtr) pCursor; 1384 + vpgSqliteValuePtr value; 1385 + if (column >= 0 && column < cursor->nColumns) 1386 + { 1387 + value = *(cursor->Values + column); 1388 + switch (value->Type) 1389 + { 1390 + case SQLITE_INTEGER: 1391 + sqlite3_result_int64 (pContext, value->IntValue); 1392 + break; 1393 + case SQLITE_FLOAT: 1394 + sqlite3_result_double (pContext, value->DoubleValue); 1395 + break; 1396 + case SQLITE_TEXT: 1397 + sqlite3_result_text (pContext, value->Text, value->Size, 1398 + SQLITE_STATIC); 1399 + break; 1400 + case SQLITE_BLOB: 1401 + sqlite3_result_blob (pContext, value->Blob, value->Size, 1402 + SQLITE_STATIC); 1403 + break; 1404 + default: 1405 + sqlite3_result_null (pContext); 1406 + break; 1407 + }; 1408 + } 1409 + else 1410 + sqlite3_result_null (pContext); 1411 + return SQLITE_OK; 1412 +} 1413 + 1414 +static int 1415 +vpg_rowid (sqlite3_vtab_cursor * pCursor, sqlite_int64 * pRowid) 1416 +{ 1417 +/* fetching the ROWID */ 1418 + VirtualPgCursorPtr cursor = (VirtualPgCursorPtr) pCursor; 1419 + *pRowid = cursor->currentRow; 1420 + return SQLITE_OK; 1421 +} 1422 + 1423 +static int 1424 +vpg_update (sqlite3_vtab * pVTab, int argc, sqlite3_value ** argv, 1425 + sqlite_int64 * pRowid) 1426 +{ 1427 +/* generic update [INSERT / UPDATE / DELETE] */ 1428 + int ret; 1429 + int nRow; 1430 + const char *ctid; 1431 + VirtualPgPtr p_vt = (VirtualPgPtr) pVTab; 1432 + if (p_vt->readOnly) 1433 + return SQLITE_READONLY; 1434 + if (argc == 1) 1435 + { 1436 + /* performing a DELETE */ 1437 + nRow = sqlite3_value_int (argv[0]); 1438 + ctid = vpgGetCTID (p_vt, nRow); 1439 + if (ctid == NULL) 1440 + return SQLITE_ERROR; 1441 + ret = vpgDeleteRow (p_vt, ctid); 1442 + } 1443 + else 1444 + { 1445 + if (sqlite3_value_type (argv[0]) == SQLITE_NULL) 1446 + { 1447 + /* performing an INSERT */ 1448 + ret = vpgInsertRow (p_vt, argc, argv); 1449 + if (ret == SQLITE_OK) 1450 + *pRowid = p_vt->newRowid; 1451 + } 1452 + else 1453 + { 1454 + /* performing an UPDATE */ 1455 + nRow = sqlite3_value_int (argv[0]); 1456 + ctid = vpgGetCTID (p_vt, nRow); 1457 + if (ctid == NULL) 1458 + return SQLITE_ERROR; 1459 + ret = vpgUpdateRow (p_vt, ctid, argc, argv); 1460 + } 1461 + } 1462 + return ret; 1463 +} 1464 + 1465 +static int 1466 +vpg_begin (sqlite3_vtab * pVTab) 1467 +{ 1468 +/* BEGIN TRANSACTION */ 1469 + if (pVTab) 1470 + pVTab = pVTab; /* unused arg warning suppression */ 1471 + return SQLITE_OK; 1472 +} 1473 + 1474 +static int 1475 +vpg_sync (sqlite3_vtab * pVTab) 1476 +{ 1477 +/* BEGIN TRANSACTION */ 1478 + if (pVTab) 1479 + pVTab = pVTab; /* unused arg warning suppression */ 1480 + return SQLITE_OK; 1481 +} 1482 + 1483 +static int 1484 +vpg_commit (sqlite3_vtab * pVTab) 1485 +{ 1486 +/* BEGIN TRANSACTION */ 1487 + if (pVTab) 1488 + pVTab = pVTab; /* unused arg warning suppression */ 1489 + return SQLITE_OK; 1490 +} 1491 + 1492 +static int 1493 +vpg_rollback (sqlite3_vtab * pVTab) 1494 +{ 1495 +/* BEGIN TRANSACTION */ 1496 + if (pVTab) 1497 + pVTab = pVTab; /* unused arg warning suppression */ 1498 + return SQLITE_OK; 1499 +} 1500 + 1501 +static void 1502 +VirtualpgInit () 1503 +{ 1504 +/* initializing the module methods */ 1505 + my_pg_module.iVersion = 1; 1506 + my_pg_module.xCreate = &vpg_create; 1507 + my_pg_module.xConnect = &vpg_connect; 1508 + my_pg_module.xBestIndex = &vpg_best_index; 1509 + my_pg_module.xDisconnect = &vpg_disconnect; 1510 + my_pg_module.xDestroy = &vpg_destroy; 1511 + my_pg_module.xOpen = &vpg_open; 1512 + my_pg_module.xClose = &vpg_close; 1513 + my_pg_module.xFilter = &vpg_filter; 1514 + my_pg_module.xNext = &vpg_next; 1515 + my_pg_module.xEof = &vpg_eof; 1516 + my_pg_module.xColumn = &vpg_column; 1517 + my_pg_module.xRowid = &vpg_rowid; 1518 + my_pg_module.xUpdate = &vpg_update; 1519 + my_pg_module.xBegin = &vpg_begin; 1520 + my_pg_module.xSync = &vpg_sync; 1521 + my_pg_module.xCommit = &vpg_commit; 1522 + my_pg_module.xRollback = &vpg_rollback; 1523 + my_pg_module.xFindFunction = NULL; 1524 +} 1525 + 1526 +#ifdef _WIN32 1527 +__declspec (dllexport) 1528 +#endif 1529 + int sqlite3_modvirtualpg_init (sqlite3 * db, char **pzErrMsg, 1530 + const sqlite3_api_routines * pApi) 1531 +{ 1532 +/* Register the virtual table */ 1533 + int rc = SQLITE_OK; 1534 + SQLITE_EXTENSION_INIT2 (pApi); 1535 + (void) pzErrMsg; 1536 + VirtualpgInit (); 1537 + sqlite3_create_module (db, "VirtualPostgres", &my_pg_module, 0); 1538 + return rc; 1539 +}