pygments.rb-jruby 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/CHANGELOG.md +71 -0
  4. data/Gemfile +2 -0
  5. data/LICENSE +17 -0
  6. data/README.md +118 -0
  7. data/Rakefile +66 -0
  8. data/bench.rb +22 -0
  9. data/cache-lexers.rb +8 -0
  10. data/lexers +0 -0
  11. data/lib/pygments.rb +8 -0
  12. data/lib/pygments/lexer.rb +148 -0
  13. data/lib/pygments/mentos.py +351 -0
  14. data/lib/pygments/popen.rb +404 -0
  15. data/lib/pygments/version.rb +3 -0
  16. data/pygments.rb.gemspec +24 -0
  17. data/test/test_data.c +2581 -0
  18. data/test/test_data.py +514 -0
  19. data/test/test_data_generated +2582 -0
  20. data/test/test_pygments.rb +287 -0
  21. data/vendor/custom_lexers/github.py +565 -0
  22. data/vendor/pygments-main/AUTHORS +153 -0
  23. data/vendor/pygments-main/CHANGES +889 -0
  24. data/vendor/pygments-main/LICENSE +25 -0
  25. data/vendor/pygments-main/MANIFEST.in +6 -0
  26. data/vendor/pygments-main/Makefile +59 -0
  27. data/vendor/pygments-main/REVISION +1 -0
  28. data/vendor/pygments-main/TODO +15 -0
  29. data/vendor/pygments-main/docs/generate.py +472 -0
  30. data/vendor/pygments-main/docs/pygmentize.1 +94 -0
  31. data/vendor/pygments-main/docs/src/api.txt +270 -0
  32. data/vendor/pygments-main/docs/src/authors.txt +5 -0
  33. data/vendor/pygments-main/docs/src/changelog.txt +5 -0
  34. data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
  35. data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
  36. data/vendor/pygments-main/docs/src/filters.txt +42 -0
  37. data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
  38. data/vendor/pygments-main/docs/src/formatters.txt +48 -0
  39. data/vendor/pygments-main/docs/src/index.txt +69 -0
  40. data/vendor/pygments-main/docs/src/installation.txt +71 -0
  41. data/vendor/pygments-main/docs/src/integrate.txt +48 -0
  42. data/vendor/pygments-main/docs/src/java.txt +70 -0
  43. data/vendor/pygments-main/docs/src/lexerdevelopment.txt +603 -0
  44. data/vendor/pygments-main/docs/src/lexers.txt +67 -0
  45. data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
  46. data/vendor/pygments-main/docs/src/plugins.txt +93 -0
  47. data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
  48. data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
  49. data/vendor/pygments-main/docs/src/styles.txt +143 -0
  50. data/vendor/pygments-main/docs/src/tokens.txt +349 -0
  51. data/vendor/pygments-main/docs/src/unicode.txt +49 -0
  52. data/vendor/pygments-main/external/autopygmentize +64 -0
  53. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
  54. data/vendor/pygments-main/external/markdown-processor.py +67 -0
  55. data/vendor/pygments-main/external/moin-parser.py +112 -0
  56. data/vendor/pygments-main/external/pygments.bashcomp +38 -0
  57. data/vendor/pygments-main/external/rst-directive-old.py +77 -0
  58. data/vendor/pygments-main/external/rst-directive.py +83 -0
  59. data/vendor/pygments-main/ez_setup.py +276 -0
  60. data/vendor/pygments-main/pygmentize +7 -0
  61. data/vendor/pygments-main/pygments/__init__.py +91 -0
  62. data/vendor/pygments-main/pygments/cmdline.py +441 -0
  63. data/vendor/pygments-main/pygments/console.py +74 -0
  64. data/vendor/pygments-main/pygments/filter.py +74 -0
  65. data/vendor/pygments-main/pygments/filters/__init__.py +356 -0
  66. data/vendor/pygments-main/pygments/formatter.py +95 -0
  67. data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
  68. data/vendor/pygments-main/pygments/formatters/_mapping.py +92 -0
  69. data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
  70. data/vendor/pygments-main/pygments/formatters/html.py +821 -0
  71. data/vendor/pygments-main/pygments/formatters/img.py +553 -0
  72. data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
  73. data/vendor/pygments-main/pygments/formatters/other.py +115 -0
  74. data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
  75. data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
  76. data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
  77. data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
  78. data/vendor/pygments-main/pygments/lexer.py +765 -0
  79. data/vendor/pygments-main/pygments/lexers/__init__.py +240 -0
  80. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
  81. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
  82. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
  83. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
  84. data/vendor/pygments-main/pygments/lexers/_mapping.py +354 -0
  85. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
  86. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
  87. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +233 -0
  88. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
  89. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +40 -0
  90. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
  91. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
  92. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -0
  93. data/vendor/pygments-main/pygments/lexers/agile.py +2290 -0
  94. data/vendor/pygments-main/pygments/lexers/asm.py +398 -0
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +3723 -0
  96. data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
  97. data/vendor/pygments-main/pygments/lexers/dotnet.py +671 -0
  98. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  99. data/vendor/pygments-main/pygments/lexers/functional.py +2731 -0
  100. data/vendor/pygments-main/pygments/lexers/github.py +565 -0
  101. data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
  102. data/vendor/pygments-main/pygments/lexers/jvm.py +1112 -0
  103. data/vendor/pygments-main/pygments/lexers/math.py +1918 -0
  104. data/vendor/pygments-main/pygments/lexers/other.py +3778 -0
  105. data/vendor/pygments-main/pygments/lexers/parsers.py +778 -0
  106. data/vendor/pygments-main/pygments/lexers/shell.py +424 -0
  107. data/vendor/pygments-main/pygments/lexers/special.py +100 -0
  108. data/vendor/pygments-main/pygments/lexers/sql.py +559 -0
  109. data/vendor/pygments-main/pygments/lexers/templates.py +1742 -0
  110. data/vendor/pygments-main/pygments/lexers/text.py +1893 -0
  111. data/vendor/pygments-main/pygments/lexers/web.py +4045 -0
  112. data/vendor/pygments-main/pygments/modeline.py +40 -0
  113. data/vendor/pygments-main/pygments/plugin.py +74 -0
  114. data/vendor/pygments-main/pygments/scanner.py +104 -0
  115. data/vendor/pygments-main/pygments/style.py +117 -0
  116. data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
  117. data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
  118. data/vendor/pygments-main/pygments/styles/borland.py +51 -0
  119. data/vendor/pygments-main/pygments/styles/bw.py +49 -0
  120. data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
  121. data/vendor/pygments-main/pygments/styles/default.py +73 -0
  122. data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
  123. data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
  124. data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
  125. data/vendor/pygments-main/pygments/styles/manni.py +75 -0
  126. data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
  127. data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
  128. data/vendor/pygments-main/pygments/styles/native.py +65 -0
  129. data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
  130. data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
  131. data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
  132. data/vendor/pygments-main/pygments/styles/tango.py +141 -0
  133. data/vendor/pygments-main/pygments/styles/trac.py +63 -0
  134. data/vendor/pygments-main/pygments/styles/vim.py +63 -0
  135. data/vendor/pygments-main/pygments/styles/vs.py +38 -0
  136. data/vendor/pygments-main/pygments/token.py +195 -0
  137. data/vendor/pygments-main/pygments/unistring.py +140 -0
  138. data/vendor/pygments-main/pygments/util.py +277 -0
  139. data/vendor/pygments-main/scripts/check_sources.py +242 -0
  140. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +32 -0
  141. data/vendor/pygments-main/scripts/epydoc.css +280 -0
  142. data/vendor/pygments-main/scripts/find_codetags.py +205 -0
  143. data/vendor/pygments-main/scripts/find_error.py +170 -0
  144. data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
  145. data/vendor/pygments-main/scripts/pylintrc +301 -0
  146. data/vendor/pygments-main/scripts/reindent.py +291 -0
  147. data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
  148. data/vendor/pygments-main/setup.cfg +7 -0
  149. data/vendor/pygments-main/setup.py +90 -0
  150. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
  151. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
  152. data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
  153. data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
  154. data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
  155. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
  156. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
  157. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
  158. data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
  159. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
  160. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
  161. data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
  162. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
  163. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
  164. data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
  165. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
  166. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
  167. data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
  168. data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
  169. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
  170. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
  171. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
  172. data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
  173. data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
  174. data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
  175. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
  176. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
  177. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
  178. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
  179. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
  180. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
  181. data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
  182. data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
  183. data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
  184. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
  185. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
  186. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
  187. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
  188. data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
  189. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
  190. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
  191. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
  192. data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
  193. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
  194. data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
  195. data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
  196. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
  197. data/vendor/pygments-main/tests/examplefiles/classes.dylan +125 -0
  198. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
  199. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
  200. data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
  201. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
  202. data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
  203. data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
  204. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
  205. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
  206. data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
  207. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
  208. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
  209. data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
  210. data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
  211. data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
  212. data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
  213. data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
  214. data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
  215. data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
  216. data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
  217. data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
  218. data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
  219. data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
  220. data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
  221. data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
  222. data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
  223. data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
  224. data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
  225. data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
  226. data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
  227. data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
  228. data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
  229. data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
  230. data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
  231. data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
  232. data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
  233. data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
  234. data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
  235. data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
  236. data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
  237. data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
  238. data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
  239. data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
  240. data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
  241. data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
  242. data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
  243. data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
  244. data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
  245. data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
  246. data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
  247. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
  248. data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
  249. data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
  250. data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
  251. data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
  252. data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
  253. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
  254. data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
  255. data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
  256. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
  257. data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
  258. data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
  259. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
  260. data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
  261. data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
  262. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
  263. data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
  264. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
  265. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
  266. data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
  267. data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
  268. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
  269. data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
  270. data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
  271. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
  272. data/vendor/pygments-main/tests/examplefiles/http_request_example +15 -0
  273. data/vendor/pygments-main/tests/examplefiles/http_response_example +29 -0
  274. data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
  275. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
  276. data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
  277. data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
  278. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
  279. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
  280. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
  281. data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
  282. data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
  283. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
  284. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
  285. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
  286. data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
  287. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
  288. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
  289. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
  290. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
  291. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
  292. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
  293. data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
  294. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
  295. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
  296. data/vendor/pygments-main/tests/examplefiles/matlab_sample +30 -0
  297. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
  298. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
  299. data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
  300. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
  301. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
  302. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
  303. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
  304. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
  305. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
  306. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
  307. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
  308. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
  309. data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
  310. data/vendor/pygments-main/tests/examplefiles/objc_example.m +32 -0
  311. data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
  312. data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
  313. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
  314. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
  315. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
  316. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
  317. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
  318. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
  319. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
  320. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
  321. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
  322. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
  323. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
  324. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
  325. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
  326. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
  327. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
  328. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
  329. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
  330. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
  331. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
  332. data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
  333. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
  334. data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
  335. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
  336. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
  337. data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
  338. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
  339. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
  340. data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
  341. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
  342. data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
  343. data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
  344. data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
  345. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
  346. data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
  347. data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
  348. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
  349. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
  350. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
  351. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
  352. data/vendor/pygments-main/tests/examplefiles/test.R +153 -0
  353. data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
  354. data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
  355. data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
  356. data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
  357. data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
  358. data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
  359. data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
  360. data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
  361. data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
  362. data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
  363. data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
  364. data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
  365. data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
  366. data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
  367. data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
  368. data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
  369. data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
  370. data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
  371. data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
  372. data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
  373. data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
  374. data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
  375. data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
  376. data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
  377. data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
  378. data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
  379. data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
  380. data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
  381. data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
  382. data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
  383. data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
  384. data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
  385. data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
  386. data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
  387. data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
  388. data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
  389. data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
  390. data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
  391. data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
  392. data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
  393. data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
  394. data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
  395. data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
  396. data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
  397. data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
  398. data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
  399. data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
  400. data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
  401. data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
  402. data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
  403. data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
  404. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
  405. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
  406. data/vendor/pygments-main/tests/examplefiles/type.lisp +1218 -0
  407. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
  408. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
  409. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
  410. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
  411. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
  412. data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
  413. data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
  414. data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
  415. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
  416. data/vendor/pygments-main/tests/old_run.py +138 -0
  417. data/vendor/pygments-main/tests/run.py +49 -0
  418. data/vendor/pygments-main/tests/support.py +15 -0
  419. data/vendor/pygments-main/tests/support/tags +36 -0
  420. data/vendor/pygments-main/tests/test_basic_api.py +295 -0
  421. data/vendor/pygments-main/tests/test_clexer.py +31 -0
  422. data/vendor/pygments-main/tests/test_cmdline.py +105 -0
  423. data/vendor/pygments-main/tests/test_examplefiles.py +99 -0
  424. data/vendor/pygments-main/tests/test_html_formatter.py +178 -0
  425. data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
  426. data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
  427. data/vendor/pygments-main/tests/test_perllexer.py +137 -0
  428. data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
  429. data/vendor/pygments-main/tests/test_token.py +46 -0
  430. data/vendor/pygments-main/tests/test_using_api.py +40 -0
  431. data/vendor/pygments-main/tests/test_util.py +135 -0
  432. data/vendor/simplejson/.gitignore +10 -0
  433. data/vendor/simplejson/.travis.yml +5 -0
  434. data/vendor/simplejson/CHANGES.txt +291 -0
  435. data/vendor/simplejson/LICENSE.txt +19 -0
  436. data/vendor/simplejson/MANIFEST.in +5 -0
  437. data/vendor/simplejson/README.rst +19 -0
  438. data/vendor/simplejson/conf.py +179 -0
  439. data/vendor/simplejson/index.rst +628 -0
  440. data/vendor/simplejson/scripts/make_docs.py +18 -0
  441. data/vendor/simplejson/setup.py +104 -0
  442. data/vendor/simplejson/simplejson/__init__.py +510 -0
  443. data/vendor/simplejson/simplejson/_speedups.c +2745 -0
  444. data/vendor/simplejson/simplejson/decoder.py +425 -0
  445. data/vendor/simplejson/simplejson/encoder.py +567 -0
  446. data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
  447. data/vendor/simplejson/simplejson/scanner.py +77 -0
  448. data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
  449. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
  450. data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
  451. data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
  452. data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
  453. data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
  454. data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
  455. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
  456. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
  457. data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
  458. data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
  459. data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
  460. data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
  461. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
  462. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
  463. data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
  464. data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
  465. data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
  466. data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
  467. data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
  468. data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
  469. data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
  470. data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
  471. data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
  472. data/vendor/simplejson/simplejson/tool.py +39 -0
  473. metadata +557 -0
@@ -0,0 +1,13 @@
1
+ fastcgi.server = ( ".php" => ((
2
+ "bin-path" => "/path/to/php-cgi",
3
+ "socket" => "/tmp/php.socket",
4
+ "max-procs" => 2,
5
+ "bin-environment" => (
6
+ "PHP_FCGI_CHILDREN" => "16",
7
+ "PHP_FCGI_MAX_REQUESTS" => "10000"
8
+ ),
9
+ "bin-copy-environment" => (
10
+ "PATH", "SHELL", "USER"
11
+ ),
12
+ "broken-scriptfilename" => "enable"
13
+ )))
@@ -0,0 +1,47 @@
1
+ apple.filter(x, y)
2
+ apple.\
3
+ filter(x, y)
4
+
5
+ 1 \
6
+ . \
7
+ __str__
8
+
9
+ from os import path
10
+ from \
11
+ os \
12
+ import \
13
+ path
14
+
15
+ import os.path as something
16
+
17
+ import \
18
+ os.path \
19
+ as \
20
+ something
21
+
22
+ class \
23
+ Spam:
24
+ pass
25
+
26
+ class Spam: pass
27
+
28
+ class Spam(object):
29
+ pass
30
+
31
+ class \
32
+ Spam \
33
+ (
34
+ object
35
+ ) \
36
+ :
37
+ pass
38
+
39
+
40
+ def \
41
+ spam \
42
+ ( \
43
+ ) \
44
+ : \
45
+ pass
46
+
47
+
@@ -0,0 +1,41 @@
1
+ a = -> [1 to 50]
2
+ const b = --> [2 til 5]
3
+ var c = ~~> 10_000_000km * 500ms - 16~ff / 32~lol
4
+ e = (a) -> (b) ~> (c) --> (d, e) ~~> <[list of words]>
5
+ dashes-identifiers = ->
6
+ a - a b -- c 1-1 1- -1 a- a a -a
7
+ underscores_i$d = ->
8
+ /regexp1/
9
+ //regexp2//g
10
+ 'strings' and "strings" and \strings
11
+
12
+ [2 til 10]
13
+ |> map (* 2)
14
+ |> filter (> 5)
15
+ |> fold (+)
16
+
17
+ obj =
18
+ prop1: 1
19
+ prop2: 2
20
+
21
+ class Class extends Anc-est-or
22
+ (args) ->
23
+ <- # Comment
24
+ <~ /* Comment */
25
+ void undefined yes no on off
26
+ a.void b.undefined c.off d.if f.no g.not
27
+ avoid bundefined coff dif fno gnot
28
+ "inter #{2 + 2} #variable"
29
+ '''HELLO 'world' '''
30
+
31
+ copy = (from, to, callback) -->
32
+ error, data <- read file
33
+ return callback error if error?
34
+ error <~ write file, data
35
+ return callback error if error?
36
+ callback()
37
+
38
+ take(n, [x, ...xs]:list) =
39
+ | n <= 0 => []
40
+ | empty list => []
41
+ | otherwise => [x] +++ take n - 1, xs
@@ -0,0 +1,28 @@
1
+ %hook ABC
2
+ - (id)a:(B)b {
3
+ %log;
4
+ return %orig(nil);
5
+ }
6
+ %end
7
+
8
+ %subclass DEF: NSObject
9
+ - (id)init {
10
+ [%c(RuntimeAccessibleClass) alloc];
11
+ return nil;
12
+ }
13
+ %end
14
+
15
+ %group OptionalHooks
16
+ %hook ABC
17
+ - (void)release {
18
+ [self retain];
19
+ %orig;
20
+ }
21
+ %end
22
+ %end
23
+
24
+ %ctor {
25
+ %init;
26
+ if(OptionalCondition)
27
+ %init(OptionalHooks);
28
+ }
@@ -0,0 +1,2849 @@
1
+ # ltmain.sh - Provide generalized library-building support services.
2
+ # NOTE: Changing this file will not affect anything until you rerun configure.
3
+ #
4
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
5
+ # Free Software Foundation, Inc.
6
+ # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
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 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful, but
14
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ # 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, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
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
+ basename="s,^.*/,,g"
28
+
29
+ # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
30
+ # is ksh but when the shell is invoked as "sh" and the current value of
31
+ # the _XPG environment variable is not equal to 1 (one), the special
32
+ # positional parameter $0, within a function call, is the name of the
33
+ # function.
34
+ progpath="$0"
35
+
36
+ # define SED for historic ltconfig's generated by Libtool 1.3
37
+ test -z "$SED" && SED=sed
38
+
39
+ # The name of this program:
40
+ progname=`echo "$progpath" | $SED $basename`
41
+ modename="$progname"
42
+
43
+ # Global variables:
44
+ EXIT_SUCCESS=0
45
+ EXIT_FAILURE=1
46
+
47
+ PROGRAM=ltmain.sh
48
+ PACKAGE=libtool
49
+ VERSION=1.5.22
50
+ TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
51
+
52
+ # See if we are running on zsh, and set the options which allow our
53
+ # commands through without removal of \ escapes.
54
+ if test -n "${ZSH_VERSION+set}" ; then
55
+ setopt NO_GLOB_SUBST
56
+ fi
57
+ # Same for EGREP, and just to be sure, do LTCC as well
58
+ if test "X$EGREP" = X ; then
59
+ EGREP=egrep
60
+ fi
61
+ if test "X$LTCC" = X ; then
62
+ LTCC=${CC-gcc}
63
+ fi
64
+
65
+ # Check that we have a working $echo.
66
+ if test "X$1" = X--no-reexec; then
67
+ # Discard the --no-reexec flag, and continue.
68
+ shift
69
+ elif test "X$1" = X--fallback-echo; then
70
+ # Avoid inline document here, it may be left over
71
+ :
72
+ elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
73
+ # Yippee, $echo works!
74
+ :
75
+ else
76
+ # Restart under the correct shell, and then maybe $echo will work.
77
+ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
78
+ fi
79
+
80
+ if test "X$1" = X--fallback-echo; then
81
+ # used as fallback echo
82
+ shift
83
+ cat <<EOF
84
+ $*
85
+ EOF
86
+ exit $EXIT_SUCCESS
87
+ fi
88
+
89
+ default_mode=
90
+ help="Try \`$progname --help' for more information."
91
+ magic="%%%MAGIC variable%%%"
92
+ mkdir="mkdir"
93
+ mv="mv -f"
94
+ rm="rm -f"
95
+
96
+ # Sed substitution that helps us do robust quoting. It backslashifies
97
+ # metacharacters that are still active within double-quoted strings.
98
+ Xsed="${SED}"' -e 1s/^X//'
99
+ sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
100
+ # test EBCDIC or ASCII
101
+ case `echo X|tr X '\101'` in
102
+ A) # ASCII based system
103
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
104
+ SP2NL='tr \040 \012'
105
+ NL2SP='tr \015\012 \040\040'
106
+ ;;
107
+ *) # EBCDIC based system
108
+ SP2NL='tr \100 \n'
109
+ NL2SP='tr \r\n \100\100'
110
+ ;;
111
+ esac
112
+
113
+ # NLS nuisances.
114
+ # Only set LANG and LC_ALL to C if already set.
115
+ # These must not be set unconditionally because not all systems understand
116
+ # e.g. LANG=C (notably SCO).
117
+ # We save the old values to restore during execute mode.
118
+ if test "${LC_ALL+set}" = set; then
119
+ save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
120
+ fi
121
+ if test "${LANG+set}" = set; then
122
+ save_LANG="$LANG"; LANG=C; export LANG
123
+ fi
124
+
125
+ # Make sure IFS has a sensible default
126
+ lt_nl='
127
+ '
128
+ IFS=" $lt_nl"
129
+
130
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
131
+ $echo "$modename: not configured to build any kind of library" 1>&2
132
+ $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
133
+ exit $EXIT_FAILURE
134
+ fi
135
+
136
+ # Global variables.
137
+ mode=$default_mode
138
+ nonopt=
139
+ prev=
140
+ prevopt=
141
+ run=
142
+ show="$echo"
143
+ show_help=
144
+ execute_dlfiles=
145
+ duplicate_deps=no
146
+ preserve_args=
147
+ lo2o="s/\\.lo\$/.${objext}/"
148
+ o2lo="s/\\.${objext}\$/.lo/"
149
+
150
+ if test -z "$max_cmd_len"; then
151
+ i=0
152
+ testring="ABCD"
153
+ new_result=
154
+
155
+ # If test is not a shell built-in, we'll probably end up computing a
156
+ # maximum length that is only half of the actual maximum length, but
157
+ # we can't tell.
158
+ while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \
159
+ = "XX$testring") >/dev/null 2>&1 &&
160
+ new_result=`expr "X$testring" : ".*" 2>&1` &&
161
+ max_cmd_len="$new_result" &&
162
+ test "$i" != 17 # 1/2 MB should be enough
163
+ do
164
+ i=`expr $i + 1`
165
+ testring="$testring$testring"
166
+ done
167
+ testring=
168
+ # Add a significant safety factor because C++ compilers can tack on massive
169
+ # amounts of additional arguments before passing them to the linker.
170
+ # It appears as though 1/2 is a usable value.
171
+ max_cmd_len=`expr $max_cmd_len \/ 2`
172
+ fi
173
+
174
+ #####################################
175
+ # Shell function definitions:
176
+ # This seems to be the best place for them
177
+
178
+ # func_mktempdir [string]
179
+ # Make a temporary directory that won't clash with other running
180
+ # libtool processes, and avoids race conditions if possible. If
181
+ # given, STRING is the basename for that directory.
182
+ func_mktempdir ()
183
+ {
184
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
185
+
186
+ if test "$run" = ":"; then
187
+ # Return a directory name, but don't create it in dry-run mode
188
+ my_tmpdir="${my_template}-$$"
189
+ else
190
+
191
+ # If mktemp works, use that first and foremost
192
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
193
+
194
+ if test ! -d "$my_tmpdir"; then
195
+ # Failing that, at least try and use $RANDOM to avoid a race
196
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
197
+
198
+ save_mktempdir_umask=`umask`
199
+ umask 0077
200
+ $mkdir "$my_tmpdir"
201
+ umask $save_mktempdir_umask
202
+ fi
203
+
204
+ # If we're not in dry-run mode, bomb out on failure
205
+ test -d "$my_tmpdir" || {
206
+ $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
207
+ exit $EXIT_FAILURE
208
+ }
209
+ fi
210
+
211
+ $echo "X$my_tmpdir" | $Xsed
212
+ }
213
+
214
+
215
+ # func_win32_libid arg
216
+ # return the library type of file 'arg'
217
+ #
218
+ # Need a lot of goo to handle *both* DLLs and import libs
219
+ # Has to be a shell function in order to 'eat' the argument
220
+ # that is supplied when $file_magic_command is called.
221
+ func_win32_libid ()
222
+ {
223
+ win32_libid_type="unknown"
224
+ win32_fileres=`file -L $1 2>/dev/null`
225
+ case $win32_fileres in
226
+ *ar\ archive\ import\ library*) # definitely import
227
+ win32_libid_type="x86 archive import"
228
+ ;;
229
+ *ar\ archive*) # could be an import, or static
230
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
231
+ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
232
+ win32_nmres=`eval $NM -f posix -A $1 | \
233
+ $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
234
+ case $win32_nmres in
235
+ import*) win32_libid_type="x86 archive import";;
236
+ *) win32_libid_type="x86 archive static";;
237
+ esac
238
+ fi
239
+ ;;
240
+ *DLL*)
241
+ win32_libid_type="x86 DLL"
242
+ ;;
243
+ *executable*) # but shell scripts are "executable" too...
244
+ case $win32_fileres in
245
+ *MS\ Windows\ PE\ Intel*)
246
+ win32_libid_type="x86 DLL"
247
+ ;;
248
+ esac
249
+ ;;
250
+ esac
251
+ $echo $win32_libid_type
252
+ }
253
+
254
+
255
+ # func_infer_tag arg
256
+ # Infer tagged configuration to use if any are available and
257
+ # if one wasn't chosen via the "--tag" command line option.
258
+ # Only attempt this if the compiler in the base compile
259
+ # command doesn't match the default compiler.
260
+ # arg is usually of the form 'gcc ...'
261
+ func_infer_tag ()
262
+ {
263
+ if test -n "$available_tags" && test -z "$tagname"; then
264
+ CC_quoted=
265
+ for arg in $CC; do
266
+ case $arg in
267
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
268
+ arg="\"$arg\""
269
+ ;;
270
+ esac
271
+ CC_quoted="$CC_quoted $arg"
272
+ done
273
+ case $@ in
274
+ # Blanks in the command may have been stripped by the calling shell,
275
+ # but not from the CC environment variable when configure was run.
276
+ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
277
+ # Blanks at the start of $base_compile will cause this to fail
278
+ # if we don't check for them as well.
279
+ *)
280
+ for z in $available_tags; do
281
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
282
+ # Evaluate the configuration.
283
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
284
+ CC_quoted=
285
+ for arg in $CC; do
286
+ # Double-quote args containing other shell metacharacters.
287
+ case $arg in
288
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
289
+ arg="\"$arg\""
290
+ ;;
291
+ esac
292
+ CC_quoted="$CC_quoted $arg"
293
+ done
294
+ # user sometimes does CC=<HOST>-gcc so we need to match that to 'gcc'
295
+ trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"`
296
+ # and sometimes libtool has CC=<HOST>-gcc but user does CC=gcc
297
+ extendcc=${host}-${CC}
298
+ # and sometimes libtool has CC=<OLDHOST>-gcc but user has CC=<NEWHOST>-gcc
299
+ # (Gentoo-specific hack because we always export $CHOST)
300
+ mungedcc=${CHOST-${host}}-${trimedcc}
301
+ case "$@ " in
302
+ "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\
303
+ "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*)
304
+ tagname=CC
305
+ break ;;
306
+ "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
307
+ "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
308
+ "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
309
+ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
310
+ # The compiler in the base compile command matches
311
+ # the one in the tagged configuration.
312
+ # Assume this is the tagged configuration we want.
313
+ tagname=$z
314
+ break
315
+ ;;
316
+ esac
317
+ fi
318
+ done
319
+ # If $tagname still isn't set, then no tagged configuration
320
+ # was found and let the user know that the "--tag" command
321
+ # line option must be used.
322
+ if test -z "$tagname"; then
323
+ $echo "$modename: unable to infer tagged configuration"
324
+ $echo "$modename: specify a tag with \`--tag'" 1>&2
325
+ exit $EXIT_FAILURE
326
+ # else
327
+ # $echo "$modename: using $tagname tagged configuration"
328
+ fi
329
+ ;;
330
+ esac
331
+ fi
332
+ }
333
+
334
+
335
+ # func_extract_an_archive dir oldlib
336
+ func_extract_an_archive ()
337
+ {
338
+ f_ex_an_ar_dir="$1"; shift
339
+ f_ex_an_ar_oldlib="$1"
340
+
341
+ $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
342
+ $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
343
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
344
+ :
345
+ else
346
+ $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
347
+ exit $EXIT_FAILURE
348
+ fi
349
+ }
350
+
351
+ # func_extract_archives gentop oldlib ...
352
+ func_extract_archives ()
353
+ {
354
+ my_gentop="$1"; shift
355
+ my_oldlibs=${1+"$@"}
356
+ my_oldobjs=""
357
+ my_xlib=""
358
+ my_xabs=""
359
+ my_xdir=""
360
+ my_status=""
361
+
362
+ $show "${rm}r $my_gentop"
363
+ $run ${rm}r "$my_gentop"
364
+ $show "$mkdir $my_gentop"
365
+ $run $mkdir "$my_gentop"
366
+ my_status=$?
367
+ if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
368
+ exit $my_status
369
+ fi
370
+
371
+ for my_xlib in $my_oldlibs; do
372
+ # Extract the objects.
373
+ case $my_xlib in
374
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
375
+ *) my_xabs=`pwd`"/$my_xlib" ;;
376
+ esac
377
+ my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
378
+ my_xdir="$my_gentop/$my_xlib"
379
+
380
+ $show "${rm}r $my_xdir"
381
+ $run ${rm}r "$my_xdir"
382
+ $show "$mkdir $my_xdir"
383
+ $run $mkdir "$my_xdir"
384
+ exit_status=$?
385
+ if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
386
+ exit $exit_status
387
+ fi
388
+ case $host in
389
+ *-darwin*)
390
+ $show "Extracting $my_xabs"
391
+ # Do not bother doing anything if just a dry run
392
+ if test -z "$run"; then
393
+ darwin_orig_dir=`pwd`
394
+ cd $my_xdir || exit $?
395
+ darwin_archive=$my_xabs
396
+ darwin_curdir=`pwd`
397
+ darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
398
+ darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
399
+ if test -n "$darwin_arches"; then
400
+ darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
401
+ darwin_arch=
402
+ $show "$darwin_base_archive has multiple architectures $darwin_arches"
403
+ for darwin_arch in $darwin_arches ; do
404
+ mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
405
+ lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
406
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
407
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
408
+ cd "$darwin_curdir"
409
+ $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
410
+ done # $darwin_arches
411
+ ## Okay now we have a bunch of thin objects, gotta fatten them up :)
412
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
413
+ darwin_file=
414
+ darwin_files=
415
+ for darwin_file in $darwin_filelist; do
416
+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
417
+ lipo -create -output "$darwin_file" $darwin_files
418
+ done # $darwin_filelist
419
+ ${rm}r unfat-$$
420
+ cd "$darwin_orig_dir"
421
+ else
422
+ cd "$darwin_orig_dir"
423
+ func_extract_an_archive "$my_xdir" "$my_xabs"
424
+ fi # $darwin_arches
425
+ fi # $run
426
+ ;;
427
+ *)
428
+ func_extract_an_archive "$my_xdir" "$my_xabs"
429
+ ;;
430
+ esac
431
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
432
+ done
433
+ func_extract_archives_result="$my_oldobjs"
434
+ }
435
+ # End of Shell function definitions
436
+ #####################################
437
+
438
+ # Darwin sucks
439
+ eval std_shrext=\"$shrext_cmds\"
440
+
441
+ disable_libs=no
442
+
443
+ # Parse our command line options once, thoroughly.
444
+ while test "$#" -gt 0
445
+ do
446
+ arg="$1"
447
+ shift
448
+
449
+ case $arg in
450
+ -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
451
+ *) optarg= ;;
452
+ esac
453
+
454
+ # If the previous option needs an argument, assign it.
455
+ if test -n "$prev"; then
456
+ case $prev in
457
+ execute_dlfiles)
458
+ execute_dlfiles="$execute_dlfiles $arg"
459
+ ;;
460
+ tag)
461
+ tagname="$arg"
462
+ preserve_args="${preserve_args}=$arg"
463
+
464
+ # Check whether tagname contains only valid characters
465
+ case $tagname in
466
+ *[!-_A-Za-z0-9,/]*)
467
+ $echo "$progname: invalid tag name: $tagname" 1>&2
468
+ exit $EXIT_FAILURE
469
+ ;;
470
+ esac
471
+
472
+ case $tagname in
473
+ CC)
474
+ # Don't test for the "default" C tag, as we know, it's there, but
475
+ # not specially marked.
476
+ ;;
477
+ *)
478
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
479
+ taglist="$taglist $tagname"
480
+ # Evaluate the configuration.
481
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
482
+ else
483
+ $echo "$progname: ignoring unknown tag $tagname" 1>&2
484
+ fi
485
+ ;;
486
+ esac
487
+ ;;
488
+ *)
489
+ eval "$prev=\$arg"
490
+ ;;
491
+ esac
492
+
493
+ prev=
494
+ prevopt=
495
+ continue
496
+ fi
497
+
498
+ # Have we seen a non-optional argument yet?
499
+ case $arg in
500
+ --help)
501
+ show_help=yes
502
+ ;;
503
+
504
+ --version)
505
+ $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
506
+ $echo
507
+ $echo "Copyright (C) 2005 Free Software Foundation, Inc."
508
+ $echo "This is free software; see the source for copying conditions. There is NO"
509
+ $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
510
+ exit $?
511
+ ;;
512
+
513
+ --config)
514
+ ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
515
+ # Now print the configurations for the tags.
516
+ for tagname in $taglist; do
517
+ ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
518
+ done
519
+ exit $?
520
+ ;;
521
+
522
+ --debug)
523
+ $echo "$progname: enabling shell trace mode"
524
+ set -x
525
+ preserve_args="$preserve_args $arg"
526
+ ;;
527
+
528
+ --dry-run | -n)
529
+ run=:
530
+ ;;
531
+
532
+ --features)
533
+ $echo "host: $host"
534
+ if test "$build_libtool_libs" = yes; then
535
+ $echo "enable shared libraries"
536
+ else
537
+ $echo "disable shared libraries"
538
+ fi
539
+ if test "$build_old_libs" = yes; then
540
+ $echo "enable static libraries"
541
+ else
542
+ $echo "disable static libraries"
543
+ fi
544
+ exit $?
545
+ ;;
546
+
547
+ --finish) mode="finish" ;;
548
+
549
+ --mode) prevopt="--mode" prev=mode ;;
550
+ --mode=*) mode="$optarg" ;;
551
+
552
+ --preserve-dup-deps) duplicate_deps="yes" ;;
553
+
554
+ --quiet | --silent)
555
+ show=:
556
+ preserve_args="$preserve_args $arg"
557
+ ;;
558
+
559
+ --tag)
560
+ prevopt="--tag"
561
+ prev=tag
562
+ preserve_args="$preserve_args --tag"
563
+ ;;
564
+ --tag=*)
565
+ set tag "$optarg" ${1+"$@"}
566
+ shift
567
+ prev=tag
568
+ preserve_args="$preserve_args --tag"
569
+ ;;
570
+
571
+ -dlopen)
572
+ prevopt="-dlopen"
573
+ prev=execute_dlfiles
574
+ ;;
575
+
576
+ -*)
577
+ $echo "$modename: unrecognized option \`$arg'" 1>&2
578
+ $echo "$help" 1>&2
579
+ exit $EXIT_FAILURE
580
+ ;;
581
+
582
+ *)
583
+ nonopt="$arg"
584
+ break
585
+ ;;
586
+ esac
587
+ done
588
+
589
+ if test -n "$prevopt"; then
590
+ $echo "$modename: option \`$prevopt' requires an argument" 1>&2
591
+ $echo "$help" 1>&2
592
+ exit $EXIT_FAILURE
593
+ fi
594
+
595
+ case $disable_libs in
596
+ no)
597
+ ;;
598
+ shared)
599
+ build_libtool_libs=no
600
+ build_old_libs=yes
601
+ ;;
602
+ static)
603
+ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
604
+ ;;
605
+ esac
606
+
607
+ # If this variable is set in any of the actions, the command in it
608
+ # will be execed at the end. This prevents here-documents from being
609
+ # left over by shells.
610
+ exec_cmd=
611
+
612
+ if test -z "$show_help"; then
613
+
614
+ # Infer the operation mode.
615
+ if test -z "$mode"; then
616
+ $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
617
+ $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
618
+ case $nonopt in
619
+ *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
620
+ mode=link
621
+ for arg
622
+ do
623
+ case $arg in
624
+ -c)
625
+ mode=compile
626
+ break
627
+ ;;
628
+ esac
629
+ done
630
+ ;;
631
+ *db | *dbx | *strace | *truss)
632
+ mode=execute
633
+ ;;
634
+ *install*|cp|mv)
635
+ mode=install
636
+ ;;
637
+ *rm)
638
+ mode=uninstall
639
+ ;;
640
+ *)
641
+ # If we have no mode, but dlfiles were specified, then do execute mode.
642
+ test -n "$execute_dlfiles" && mode=execute
643
+
644
+ # Just use the default operation mode.
645
+ if test -z "$mode"; then
646
+ if test -n "$nonopt"; then
647
+ $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
648
+ else
649
+ $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
650
+ fi
651
+ fi
652
+ ;;
653
+ esac
654
+ fi
655
+
656
+ # Only execute mode is allowed to have -dlopen flags.
657
+ if test -n "$execute_dlfiles" && test "$mode" != execute; then
658
+ $echo "$modename: unrecognized option \`-dlopen'" 1>&2
659
+ $echo "$help" 1>&2
660
+ exit $EXIT_FAILURE
661
+ fi
662
+
663
+ # Change the help message to a mode-specific one.
664
+ generic_help="$help"
665
+ help="Try \`$modename --help --mode=$mode' for more information."
666
+
667
+ # These modes are in order of execution frequency so that they run quickly.
668
+ case $mode in
669
+ # libtool compile mode
670
+ compile)
671
+ modename="$modename: compile"
672
+ # Get the compilation command and the source file.
673
+ base_compile=
674
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
675
+ suppress_opt=yes
676
+ suppress_output=
677
+ arg_mode=normal
678
+ libobj=
679
+ later=
680
+
681
+ for arg
682
+ do
683
+ case $arg_mode in
684
+ arg )
685
+ # do not "continue". Instead, add this to base_compile
686
+ lastarg="$arg"
687
+ arg_mode=normal
688
+ ;;
689
+
690
+ target )
691
+ libobj="$arg"
692
+ arg_mode=normal
693
+ continue
694
+ ;;
695
+
696
+ normal )
697
+ # Accept any command-line options.
698
+ case $arg in
699
+ -o)
700
+ if test -n "$libobj" ; then
701
+ $echo "$modename: you cannot specify \`-o' more than once" 1>&2
702
+ exit $EXIT_FAILURE
703
+ fi
704
+ arg_mode=target
705
+ continue
706
+ ;;
707
+
708
+ -static | -prefer-pic | -prefer-non-pic)
709
+ later="$later $arg"
710
+ continue
711
+ ;;
712
+
713
+ -no-suppress)
714
+ suppress_opt=no
715
+ continue
716
+ ;;
717
+
718
+ -Xcompiler)
719
+ arg_mode=arg # the next one goes into the "base_compile" arg list
720
+ continue # The current "srcfile" will either be retained or
721
+ ;; # replaced later. I would guess that would be a bug.
722
+
723
+ -Wc,*)
724
+ args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
725
+ lastarg=
726
+ save_ifs="$IFS"; IFS=','
727
+ for arg in $args; do
728
+ IFS="$save_ifs"
729
+
730
+ # Double-quote args containing other shell metacharacters.
731
+ # Many Bourne shells cannot handle close brackets correctly
732
+ # in scan sets, so we specify it separately.
733
+ case $arg in
734
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
735
+ arg="\"$arg\""
736
+ ;;
737
+ esac
738
+ lastarg="$lastarg $arg"
739
+ done
740
+ IFS="$save_ifs"
741
+ lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
742
+
743
+ # Add the arguments to base_compile.
744
+ base_compile="$base_compile $lastarg"
745
+ continue
746
+ ;;
747
+
748
+ * )
749
+ # Accept the current argument as the source file.
750
+ # The previous "srcfile" becomes the current argument.
751
+ #
752
+ lastarg="$srcfile"
753
+ srcfile="$arg"
754
+ ;;
755
+ esac # case $arg
756
+ ;;
757
+ esac # case $arg_mode
758
+
759
+ # Aesthetically quote the previous argument.
760
+ lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
761
+
762
+ case $lastarg in
763
+ # Double-quote args containing other shell metacharacters.
764
+ # Many Bourne shells cannot handle close brackets correctly
765
+ # in scan sets, and some SunOS ksh mistreat backslash-escaping
766
+ # in scan sets (worked around with variable expansion),
767
+ # and furthermore cannot handle '|' '&' '(' ')' in scan sets
768
+ # at all, so we specify them separately.
769
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
770
+ lastarg="\"$lastarg\""
771
+ ;;
772
+ esac
773
+
774
+ base_compile="$base_compile $lastarg"
775
+ done # for arg
776
+
777
+ case $arg_mode in
778
+ arg)
779
+ $echo "$modename: you must specify an argument for -Xcompile"
780
+ exit $EXIT_FAILURE
781
+ ;;
782
+ target)
783
+ $echo "$modename: you must specify a target with \`-o'" 1>&2
784
+ exit $EXIT_FAILURE
785
+ ;;
786
+ *)
787
+ # Get the name of the library object.
788
+ [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
789
+ ;;
790
+ esac
791
+
792
+ # Recognize several different file suffixes.
793
+ # If the user specifies -o file.o, it is replaced with file.lo
794
+ xform='[cCFSifmso]'
795
+ case $libobj in
796
+ *.ada) xform=ada ;;
797
+ *.adb) xform=adb ;;
798
+ *.ads) xform=ads ;;
799
+ *.asm) xform=asm ;;
800
+ *.c++) xform=c++ ;;
801
+ *.cc) xform=cc ;;
802
+ *.ii) xform=ii ;;
803
+ *.class) xform=class ;;
804
+ *.cpp) xform=cpp ;;
805
+ *.cxx) xform=cxx ;;
806
+ *.f90) xform=f90 ;;
807
+ *.for) xform=for ;;
808
+ *.java) xform=java ;;
809
+ esac
810
+
811
+ libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
812
+
813
+ case $libobj in
814
+ *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
815
+ *)
816
+ $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
817
+ exit $EXIT_FAILURE
818
+ ;;
819
+ esac
820
+
821
+ func_infer_tag $base_compile
822
+
823
+ for arg in $later; do
824
+ case $arg in
825
+ -static)
826
+ build_old_libs=yes
827
+ continue
828
+ ;;
829
+
830
+ -prefer-pic)
831
+ pic_mode=yes
832
+ continue
833
+ ;;
834
+
835
+ -prefer-non-pic)
836
+ pic_mode=no
837
+ continue
838
+ ;;
839
+ esac
840
+ done
841
+
842
+ qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
843
+ case $qlibobj in
844
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
845
+ qlibobj="\"$qlibobj\"" ;;
846
+ esac
847
+ test "X$libobj" != "X$qlibobj" \
848
+ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
849
+ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
850
+ objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
851
+ xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
852
+ if test "X$xdir" = "X$obj"; then
853
+ xdir=
854
+ else
855
+ xdir=$xdir/
856
+ fi
857
+ lobj=${xdir}$objdir/$objname
858
+
859
+ if test -z "$base_compile"; then
860
+ $echo "$modename: you must specify a compilation command" 1>&2
861
+ $echo "$help" 1>&2
862
+ exit $EXIT_FAILURE
863
+ fi
864
+
865
+ # Delete any leftover library objects.
866
+ if test "$build_old_libs" = yes; then
867
+ removelist="$obj $lobj $libobj ${libobj}T"
868
+ else
869
+ removelist="$lobj $libobj ${libobj}T"
870
+ fi
871
+
872
+ $run $rm $removelist
873
+ trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
874
+
875
+ # On Cygwin there's no "real" PIC flag so we must build both object types
876
+ case $host_os in
877
+ cygwin* | mingw* | pw32* | os2*)
878
+ pic_mode=default
879
+ ;;
880
+ esac
881
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
882
+ # non-PIC code in shared libraries is not supported
883
+ pic_mode=default
884
+ fi
885
+
886
+ # Calculate the filename of the output object if compiler does
887
+ # not support -o with -c
888
+ if test "$compiler_c_o" = no; then
889
+ output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
890
+ lockfile="$output_obj.lock"
891
+ removelist="$removelist $output_obj $lockfile"
892
+ trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
893
+ else
894
+ output_obj=
895
+ need_locks=no
896
+ lockfile=
897
+ fi
898
+
899
+ # Lock this critical section if it is needed
900
+ # We use this script file to make the link, it avoids creating a new file
901
+ if test "$need_locks" = yes; then
902
+ until $run ln "$srcfile" "$lockfile" 2>/dev/null; do
903
+ $show "Waiting for $lockfile to be removed"
904
+ sleep 2
905
+ done
906
+ elif test "$need_locks" = warn; then
907
+ if test -f "$lockfile"; then
908
+ $echo "\
909
+ *** ERROR, $lockfile exists and contains:
910
+ `cat $lockfile 2>/dev/null`
911
+
912
+ This indicates that another process is trying to use the same
913
+ temporary object file, and libtool could not work around it because
914
+ your compiler does not support \`-c' and \`-o' together. If you
915
+ repeat this compilation, it may succeed, by chance, but you had better
916
+ avoid parallel builds (make -j) in this platform, or get a better
917
+ compiler."
918
+
919
+ $run $rm $removelist
920
+ exit $EXIT_FAILURE
921
+ fi
922
+ $echo "$srcfile" > "$lockfile"
923
+ fi
924
+
925
+ if test -n "$fix_srcfile_path"; then
926
+ eval srcfile=\"$fix_srcfile_path\"
927
+ fi
928
+ qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
929
+ case $qsrcfile in
930
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
931
+ qsrcfile="\"$qsrcfile\"" ;;
932
+ esac
933
+
934
+ $run $rm "$libobj" "${libobj}T"
935
+
936
+ # Create a libtool object file (analogous to a ".la" file),
937
+ # but don't create it if we're doing a dry run.
938
+ test -z "$run" && cat > ${libobj}T <<EOF
939
+ # $libobj - a libtool object file
940
+ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
941
+ #
942
+ # Please DO NOT delete this file!
943
+ # It is necessary for linking the library.
944
+
945
+ # Name of the PIC object.
946
+ EOF
947
+
948
+ # Only build a PIC object if we are building libtool libraries.
949
+ if test "$build_libtool_libs" = yes; then
950
+ # Without this assignment, base_compile gets emptied.
951
+ fbsd_hideous_sh_bug=$base_compile
952
+
953
+ if test "$pic_mode" != no; then
954
+ command="$base_compile $qsrcfile $pic_flag"
955
+ else
956
+ # Don't build PIC code
957
+ command="$base_compile $qsrcfile"
958
+ fi
959
+
960
+ if test ! -d "${xdir}$objdir"; then
961
+ $show "$mkdir ${xdir}$objdir"
962
+ $run $mkdir ${xdir}$objdir
963
+ exit_status=$?
964
+ if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
965
+ exit $exit_status
966
+ fi
967
+ fi
968
+
969
+ if test -z "$output_obj"; then
970
+ # Place PIC objects in $objdir
971
+ command="$command -o $lobj"
972
+ fi
973
+
974
+ $run $rm "$lobj" "$output_obj"
975
+
976
+ $show "$command"
977
+ if $run eval "$command"; then :
978
+ else
979
+ test -n "$output_obj" && $run $rm $removelist
980
+ exit $EXIT_FAILURE
981
+ fi
982
+
983
+ if test "$need_locks" = warn &&
984
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
985
+ $echo "\
986
+ *** ERROR, $lockfile contains:
987
+ `cat $lockfile 2>/dev/null`
988
+
989
+ but it should contain:
990
+ $srcfile
991
+
992
+ This indicates that another process is trying to use the same
993
+ temporary object file, and libtool could not work around it because
994
+ your compiler does not support \`-c' and \`-o' together. If you
995
+ repeat this compilation, it may succeed, by chance, but you had better
996
+ avoid parallel builds (make -j) in this platform, or get a better
997
+ compiler."
998
+
999
+ $run $rm $removelist
1000
+ exit $EXIT_FAILURE
1001
+ fi
1002
+
1003
+ # Just move the object if needed, then go on to compile the next one
1004
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
1005
+ $show "$mv $output_obj $lobj"
1006
+ if $run $mv $output_obj $lobj; then :
1007
+ else
1008
+ error=$?
1009
+ $run $rm $removelist
1010
+ exit $error
1011
+ fi
1012
+ fi
1013
+
1014
+ # Append the name of the PIC object to the libtool object file.
1015
+ test -z "$run" && cat >> ${libobj}T <<EOF
1016
+ pic_object='$objdir/$objname'
1017
+
1018
+ EOF
1019
+
1020
+ # Allow error messages only from the first compilation.
1021
+ if test "$suppress_opt" = yes; then
1022
+ suppress_output=' >/dev/null 2>&1'
1023
+ fi
1024
+ else
1025
+ # No PIC object so indicate it doesn't exist in the libtool
1026
+ # object file.
1027
+ test -z "$run" && cat >> ${libobj}T <<EOF
1028
+ pic_object=none
1029
+
1030
+ EOF
1031
+ fi
1032
+
1033
+ # Only build a position-dependent object if we build old libraries.
1034
+ if test "$build_old_libs" = yes; then
1035
+ if test "$pic_mode" != yes; then
1036
+ # Don't build PIC code
1037
+ command="$base_compile $qsrcfile"
1038
+ else
1039
+ command="$base_compile $qsrcfile $pic_flag"
1040
+ fi
1041
+ if test "$compiler_c_o" = yes; then
1042
+ command="$command -o $obj"
1043
+ fi
1044
+
1045
+ # Suppress compiler output if we already did a PIC compilation.
1046
+ command="$command$suppress_output"
1047
+ $run $rm "$obj" "$output_obj"
1048
+ $show "$command"
1049
+ if $run eval "$command"; then :
1050
+ else
1051
+ $run $rm $removelist
1052
+ exit $EXIT_FAILURE
1053
+ fi
1054
+
1055
+ if test "$need_locks" = warn &&
1056
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1057
+ $echo "\
1058
+ *** ERROR, $lockfile contains:
1059
+ `cat $lockfile 2>/dev/null`
1060
+
1061
+ but it should contain:
1062
+ $srcfile
1063
+
1064
+ This indicates that another process is trying to use the same
1065
+ temporary object file, and libtool could not work around it because
1066
+ your compiler does not support \`-c' and \`-o' together. If you
1067
+ repeat this compilation, it may succeed, by chance, but you had better
1068
+ avoid parallel builds (make -j) in this platform, or get a better
1069
+ compiler."
1070
+
1071
+ $run $rm $removelist
1072
+ exit $EXIT_FAILURE
1073
+ fi
1074
+
1075
+ # Just move the object if needed
1076
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1077
+ $show "$mv $output_obj $obj"
1078
+ if $run $mv $output_obj $obj; then :
1079
+ else
1080
+ error=$?
1081
+ $run $rm $removelist
1082
+ exit $error
1083
+ fi
1084
+ fi
1085
+
1086
+ # Append the name of the non-PIC object the libtool object file.
1087
+ # Only append if the libtool object file exists.
1088
+ test -z "$run" && cat >> ${libobj}T <<EOF
1089
+ # Name of the non-PIC object.
1090
+ non_pic_object='$objname'
1091
+
1092
+ EOF
1093
+ else
1094
+ # Append the name of the non-PIC object the libtool object file.
1095
+ # Only append if the libtool object file exists.
1096
+ test -z "$run" && cat >> ${libobj}T <<EOF
1097
+ # Name of the non-PIC object.
1098
+ non_pic_object=none
1099
+
1100
+ EOF
1101
+ fi
1102
+
1103
+ $run $mv "${libobj}T" "${libobj}"
1104
+
1105
+ # Unlock the critical section if it was locked
1106
+ if test "$need_locks" != no; then
1107
+ $run $rm "$lockfile"
1108
+ fi
1109
+
1110
+ exit $EXIT_SUCCESS
1111
+ ;;
1112
+
1113
+ # libtool link mode
1114
+ link | relink)
1115
+ modename="$modename: link"
1116
+ case $host in
1117
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1118
+ # It is impossible to link a dll without this setting, and
1119
+ # we shouldn't force the makefile maintainer to figure out
1120
+ # which system we are compiling for in order to pass an extra
1121
+ # flag for every libtool invocation.
1122
+ # allow_undefined=no
1123
+
1124
+ # FIXME: Unfortunately, there are problems with the above when trying
1125
+ # to make a dll which has undefined symbols, in which case not
1126
+ # even a static library is built. For now, we need to specify
1127
+ # -no-undefined on the libtool link line when we can be certain
1128
+ # that all symbols are satisfied, otherwise we get a static library.
1129
+ allow_undefined=yes
1130
+ ;;
1131
+ *)
1132
+ allow_undefined=yes
1133
+ ;;
1134
+ esac
1135
+ libtool_args="$nonopt"
1136
+ base_compile="$nonopt $@"
1137
+ compile_command="$nonopt"
1138
+ finalize_command="$nonopt"
1139
+
1140
+ compile_rpath=
1141
+ finalize_rpath=
1142
+ compile_shlibpath=
1143
+ finalize_shlibpath=
1144
+ convenience=
1145
+ old_convenience=
1146
+ deplibs=
1147
+ old_deplibs=
1148
+ compiler_flags=
1149
+ linker_flags=
1150
+ dllsearchpath=
1151
+ lib_search_path=`pwd`
1152
+ inst_prefix_dir=
1153
+
1154
+ avoid_version=no
1155
+ dlfiles=
1156
+ dlprefiles=
1157
+ dlself=no
1158
+ export_dynamic=no
1159
+ export_symbols=
1160
+ export_symbols_regex=
1161
+ generated=
1162
+ libobjs=
1163
+ ltlibs=
1164
+ module=no
1165
+ no_install=no
1166
+ objs=
1167
+ non_pic_objects=
1168
+ notinst_path= # paths that contain not-installed libtool libraries
1169
+ precious_files_regex=
1170
+ prefer_static_libs=no
1171
+ preload=no
1172
+ prev=
1173
+ prevarg=
1174
+ release=
1175
+ rpath=
1176
+ xrpath=
1177
+ perm_rpath=
1178
+ temp_rpath=
1179
+ thread_safe=no
1180
+ vinfo=
1181
+ vinfo_number=no
1182
+
1183
+ func_infer_tag $base_compile
1184
+
1185
+ # We need to know -static, to get the right output filenames.
1186
+ for arg
1187
+ do
1188
+ case $arg in
1189
+ -all-static | -static)
1190
+ if test "X$arg" = "X-all-static"; then
1191
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
1192
+ $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
1193
+ fi
1194
+ if test -n "$link_static_flag"; then
1195
+ dlopen_self=$dlopen_self_static
1196
+ fi
1197
+ prefer_static_libs=yes
1198
+ else
1199
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
1200
+ dlopen_self=$dlopen_self_static
1201
+ fi
1202
+ prefer_static_libs=built
1203
+ fi
1204
+ build_libtool_libs=no
1205
+ build_old_libs=yes
1206
+ break
1207
+ ;;
1208
+ esac
1209
+ done
1210
+
1211
+ # See if our shared archives depend on static archives.
1212
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
1213
+
1214
+ # Go through the arguments, transforming them on the way.
1215
+ while test "$#" -gt 0; do
1216
+ arg="$1"
1217
+ shift
1218
+ case $arg in
1219
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1220
+ qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
1221
+ ;;
1222
+ *) qarg=$arg ;;
1223
+ esac
1224
+ libtool_args="$libtool_args $qarg"
1225
+
1226
+ # If the previous option needs an argument, assign it.
1227
+ if test -n "$prev"; then
1228
+ case $prev in
1229
+ output)
1230
+ compile_command="$compile_command @OUTPUT@"
1231
+ finalize_command="$finalize_command @OUTPUT@"
1232
+ ;;
1233
+ esac
1234
+
1235
+ case $prev in
1236
+ dlfiles|dlprefiles)
1237
+ if test "$preload" = no; then
1238
+ # Add the symbol object into the linking commands.
1239
+ compile_command="$compile_command @SYMFILE@"
1240
+ finalize_command="$finalize_command @SYMFILE@"
1241
+ preload=yes
1242
+ fi
1243
+ case $arg in
1244
+ *.la | *.lo) ;; # We handle these cases below.
1245
+ force)
1246
+ if test "$dlself" = no; then
1247
+ dlself=needless
1248
+ export_dynamic=yes
1249
+ fi
1250
+ prev=
1251
+ continue
1252
+ ;;
1253
+ self)
1254
+ if test "$prev" = dlprefiles; then
1255
+ dlself=yes
1256
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
1257
+ dlself=yes
1258
+ else
1259
+ dlself=needless
1260
+ export_dynamic=yes
1261
+ fi
1262
+ prev=
1263
+ continue
1264
+ ;;
1265
+ *)
1266
+ if test "$prev" = dlfiles; then
1267
+ dlfiles="$dlfiles $arg"
1268
+ else
1269
+ dlprefiles="$dlprefiles $arg"
1270
+ fi
1271
+ prev=
1272
+ continue
1273
+ ;;
1274
+ esac
1275
+ ;;
1276
+ expsyms)
1277
+ export_symbols="$arg"
1278
+ if test ! -f "$arg"; then
1279
+ $echo "$modename: symbol file \`$arg' does not exist"
1280
+ exit $EXIT_FAILURE
1281
+ fi
1282
+ prev=
1283
+ continue
1284
+ ;;
1285
+ expsyms_regex)
1286
+ export_symbols_regex="$arg"
1287
+ prev=
1288
+ continue
1289
+ ;;
1290
+ inst_prefix)
1291
+ inst_prefix_dir="$arg"
1292
+ prev=
1293
+ continue
1294
+ ;;
1295
+ precious_regex)
1296
+ precious_files_regex="$arg"
1297
+ prev=
1298
+ continue
1299
+ ;;
1300
+ release)
1301
+ release="-$arg"
1302
+ prev=
1303
+ continue
1304
+ ;;
1305
+ objectlist)
1306
+ if test -f "$arg"; then
1307
+ save_arg=$arg
1308
+ moreargs=
1309
+ for fil in `cat $save_arg`
1310
+ do
1311
+ # moreargs="$moreargs $fil"
1312
+ arg=$fil
1313
+ # A libtool-controlled object.
1314
+
1315
+ # Check to see that this really is a libtool object.
1316
+ if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1317
+ pic_object=
1318
+ non_pic_object=
1319
+
1320
+ # Read the .lo file
1321
+ # If there is no directory component, then add one.
1322
+ case $arg in
1323
+ */* | *\\*) . $arg ;;
1324
+ *) . ./$arg ;;
1325
+ esac
1326
+
1327
+ if test -z "$pic_object" || \
1328
+ test -z "$non_pic_object" ||
1329
+ test "$pic_object" = none && \
1330
+ test "$non_pic_object" = none; then
1331
+ $echo "$modename: cannot find name of object for \`$arg'" 1>&2
1332
+ exit $EXIT_FAILURE
1333
+ fi
1334
+
1335
+ # Extract subdirectory from the argument.
1336
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1337
+ if test "X$xdir" = "X$arg"; then
1338
+ xdir=
1339
+ else
1340
+ xdir="$xdir/"
1341
+ fi
1342
+
1343
+ if test "$pic_object" != none; then
1344
+ # Prepend the subdirectory the object is found in.
1345
+ pic_object="$xdir$pic_object"
1346
+
1347
+ if test "$prev" = dlfiles; then
1348
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1349
+ dlfiles="$dlfiles $pic_object"
1350
+ prev=
1351
+ continue
1352
+ else
1353
+ # If libtool objects are unsupported, then we need to preload.
1354
+ prev=dlprefiles
1355
+ fi
1356
+ fi
1357
+
1358
+ # CHECK ME: I think I busted this. -Ossama
1359
+ if test "$prev" = dlprefiles; then
1360
+ # Preload the old-style object.
1361
+ dlprefiles="$dlprefiles $pic_object"
1362
+ prev=
1363
+ fi
1364
+
1365
+ # A PIC object.
1366
+ libobjs="$libobjs $pic_object"
1367
+ arg="$pic_object"
1368
+ fi
1369
+
1370
+ # Non-PIC object.
1371
+ if test "$non_pic_object" != none; then
1372
+ # Prepend the subdirectory the object is found in.
1373
+ non_pic_object="$xdir$non_pic_object"
1374
+
1375
+ # A standard non-PIC object
1376
+ non_pic_objects="$non_pic_objects $non_pic_object"
1377
+ if test -z "$pic_object" || test "$pic_object" = none ; then
1378
+ arg="$non_pic_object"
1379
+ fi
1380
+ else
1381
+ # If the PIC object exists, use it instead.
1382
+ # $xdir was prepended to $pic_object above.
1383
+ non_pic_object="$pic_object"
1384
+ non_pic_objects="$non_pic_objects $non_pic_object"
1385
+ fi
1386
+ else
1387
+ # Only an error if not doing a dry-run.
1388
+ if test -z "$run"; then
1389
+ $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
1390
+ exit $EXIT_FAILURE
1391
+ else
1392
+ # Dry-run case.
1393
+
1394
+ # Extract subdirectory from the argument.
1395
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1396
+ if test "X$xdir" = "X$arg"; then
1397
+ xdir=
1398
+ else
1399
+ xdir="$xdir/"
1400
+ fi
1401
+
1402
+ pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
1403
+ non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
1404
+ libobjs="$libobjs $pic_object"
1405
+ non_pic_objects="$non_pic_objects $non_pic_object"
1406
+ fi
1407
+ fi
1408
+ done
1409
+ else
1410
+ $echo "$modename: link input file \`$save_arg' does not exist"
1411
+ exit $EXIT_FAILURE
1412
+ fi
1413
+ arg=$save_arg
1414
+ prev=
1415
+ continue
1416
+ ;;
1417
+ rpath | xrpath)
1418
+ # We need an absolute path.
1419
+ case $arg in
1420
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
1421
+ *)
1422
+ $echo "$modename: only absolute run-paths are allowed" 1>&2
1423
+ exit $EXIT_FAILURE
1424
+ ;;
1425
+ esac
1426
+ if test "$prev" = rpath; then
1427
+ case "$rpath " in
1428
+ *" $arg "*) ;;
1429
+ *) rpath="$rpath $arg" ;;
1430
+ esac
1431
+ else
1432
+ case "$xrpath " in
1433
+ *" $arg "*) ;;
1434
+ *) xrpath="$xrpath $arg" ;;
1435
+ esac
1436
+ fi
1437
+ prev=
1438
+ continue
1439
+ ;;
1440
+ xcompiler)
1441
+ compiler_flags="$compiler_flags $qarg"
1442
+ prev=
1443
+ compile_command="$compile_command $qarg"
1444
+ finalize_command="$finalize_command $qarg"
1445
+ continue
1446
+ ;;
1447
+ xlinker)
1448
+ linker_flags="$linker_flags $qarg"
1449
+ compiler_flags="$compiler_flags $wl$qarg"
1450
+ prev=
1451
+ compile_command="$compile_command $wl$qarg"
1452
+ finalize_command="$finalize_command $wl$qarg"
1453
+ continue
1454
+ ;;
1455
+ xcclinker)
1456
+ linker_flags="$linker_flags $qarg"
1457
+ compiler_flags="$compiler_flags $qarg"
1458
+ prev=
1459
+ compile_command="$compile_command $qarg"
1460
+ finalize_command="$finalize_command $qarg"
1461
+ continue
1462
+ ;;
1463
+ shrext)
1464
+ shrext_cmds="$arg"
1465
+ prev=
1466
+ continue
1467
+ ;;
1468
+ darwin_framework|darwin_framework_skip)
1469
+ test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
1470
+ compile_command="$compile_command $arg"
1471
+ finalize_command="$finalize_command $arg"
1472
+ prev=
1473
+ continue
1474
+ ;;
1475
+ *)
1476
+ eval "$prev=\"\$arg\""
1477
+ prev=
1478
+ continue
1479
+ ;;
1480
+ esac
1481
+ fi # test -n "$prev"
1482
+
1483
+ prevarg="$arg"
1484
+
1485
+ case $arg in
1486
+ -all-static)
1487
+ if test -n "$link_static_flag"; then
1488
+ compile_command="$compile_command $link_static_flag"
1489
+ finalize_command="$finalize_command $link_static_flag"
1490
+ fi
1491
+ continue
1492
+ ;;
1493
+
1494
+ -allow-undefined)
1495
+ # FIXME: remove this flag sometime in the future.
1496
+ $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
1497
+ continue
1498
+ ;;
1499
+
1500
+ -avoid-version)
1501
+ avoid_version=yes
1502
+ continue
1503
+ ;;
1504
+
1505
+ -dlopen)
1506
+ prev=dlfiles
1507
+ continue
1508
+ ;;
1509
+
1510
+ -dlpreopen)
1511
+ prev=dlprefiles
1512
+ continue
1513
+ ;;
1514
+
1515
+ -export-dynamic)
1516
+ export_dynamic=yes
1517
+ continue
1518
+ ;;
1519
+
1520
+ -export-symbols | -export-symbols-regex)
1521
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
1522
+ $echo "$modename: more than one -exported-symbols argument is not allowed"
1523
+ exit $EXIT_FAILURE
1524
+ fi
1525
+ if test "X$arg" = "X-export-symbols"; then
1526
+ prev=expsyms
1527
+ else
1528
+ prev=expsyms_regex
1529
+ fi
1530
+ continue
1531
+ ;;
1532
+
1533
+ -framework|-arch|-isysroot)
1534
+ case " $CC " in
1535
+ *" ${arg} ${1} "* | *" ${arg} ${1} "*)
1536
+ prev=darwin_framework_skip ;;
1537
+ *) compiler_flags="$compiler_flags $arg"
1538
+ prev=darwin_framework ;;
1539
+ esac
1540
+ compile_command="$compile_command $arg"
1541
+ finalize_command="$finalize_command $arg"
1542
+ continue
1543
+ ;;
1544
+
1545
+ -inst-prefix-dir)
1546
+ prev=inst_prefix
1547
+ continue
1548
+ ;;
1549
+
1550
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
1551
+ # so, if we see these flags be careful not to treat them like -L
1552
+ -L[A-Z][A-Z]*:*)
1553
+ case $with_gcc/$host in
1554
+ no/*-*-irix* | /*-*-irix*)
1555
+ compile_command="$compile_command $arg"
1556
+ finalize_command="$finalize_command $arg"
1557
+ ;;
1558
+ esac
1559
+ continue
1560
+ ;;
1561
+
1562
+ -L*)
1563
+ dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
1564
+ # We need an absolute path.
1565
+ case $dir in
1566
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
1567
+ *)
1568
+ absdir=`cd "$dir" && pwd`
1569
+ if test -z "$absdir"; then
1570
+ $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
1571
+ absdir="$dir"
1572
+ notinst_path="$notinst_path $dir"
1573
+ fi
1574
+ dir="$absdir"
1575
+ ;;
1576
+ esac
1577
+ case "$deplibs " in
1578
+ *" -L$dir "*) ;;
1579
+ *)
1580
+ deplibs="$deplibs -L$dir"
1581
+ lib_search_path="$lib_search_path $dir"
1582
+ ;;
1583
+ esac
1584
+ case $host in
1585
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1586
+ testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
1587
+ case :$dllsearchpath: in
1588
+ *":$dir:"*) ;;
1589
+ *) dllsearchpath="$dllsearchpath:$dir";;
1590
+ esac
1591
+ case :$dllsearchpath: in
1592
+ *":$testbindir:"*) ;;
1593
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
1594
+ esac
1595
+ ;;
1596
+ esac
1597
+ continue
1598
+ ;;
1599
+
1600
+ -l*)
1601
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
1602
+ case $host in
1603
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
1604
+ # These systems don't actually have a C or math library (as such)
1605
+ continue
1606
+ ;;
1607
+ *-*-os2*)
1608
+ # These systems don't actually have a C library (as such)
1609
+ test "X$arg" = "X-lc" && continue
1610
+ ;;
1611
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1612
+ # Do not include libc due to us having libc/libc_r.
1613
+ test "X$arg" = "X-lc" && continue
1614
+ ;;
1615
+ *-*-rhapsody* | *-*-darwin1.[012])
1616
+ # Rhapsody C and math libraries are in the System framework
1617
+ deplibs="$deplibs -framework System"
1618
+ continue
1619
+ ;;
1620
+ *-*-sco3.2v5* | *-*-sco5v6*)
1621
+ # Causes problems with __ctype
1622
+ test "X$arg" = "X-lc" && continue
1623
+ ;;
1624
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
1625
+ # Compiler inserts libc in the correct place for threads to work
1626
+ test "X$arg" = "X-lc" && continue
1627
+ ;;
1628
+ esac
1629
+ elif test "X$arg" = "X-lc_r"; then
1630
+ case $host in
1631
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1632
+ # Do not include libc_r directly, use -pthread flag.
1633
+ continue
1634
+ ;;
1635
+ esac
1636
+ fi
1637
+ deplibs="$deplibs $arg"
1638
+ continue
1639
+ ;;
1640
+
1641
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
1642
+ # classes, name mangling, and exception handling.
1643
+ -model)
1644
+ compile_command="$compile_command $arg"
1645
+ compiler_flags="$compiler_flags $arg"
1646
+ finalize_command="$finalize_command $arg"
1647
+ prev=xcompiler
1648
+ continue
1649
+ ;;
1650
+
1651
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
1652
+ compiler_flags="$compiler_flags $arg"
1653
+ compile_command="$compile_command $arg"
1654
+ finalize_command="$finalize_command $arg"
1655
+ continue
1656
+ ;;
1657
+
1658
+ -module)
1659
+ module=yes
1660
+ continue
1661
+ ;;
1662
+
1663
+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
1664
+ # -r[0-9][0-9]* specifies the processor on the SGI compiler
1665
+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
1666
+ # +DA*, +DD* enable 64-bit mode on the HP compiler
1667
+ # -q* pass through compiler args for the IBM compiler
1668
+ # -m* pass through architecture-specific compiler args for GCC
1669
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
1670
+ # compiler args for GCC
1671
+ # -pg pass through profiling flag for GCC
1672
+ # @file GCC response files
1673
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
1674
+ -t[45]*|-txscale*|@*)
1675
+
1676
+ # Unknown arguments in both finalize_command and compile_command need
1677
+ # to be aesthetically quoted because they are evaled later.
1678
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1679
+ case $arg in
1680
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1681
+ arg="\"$arg\""
1682
+ ;;
1683
+ esac
1684
+ compile_command="$compile_command $arg"
1685
+ finalize_command="$finalize_command $arg"
1686
+ compiler_flags="$compiler_flags $arg"
1687
+ continue
1688
+ ;;
1689
+
1690
+ -shrext)
1691
+ prev=shrext
1692
+ continue
1693
+ ;;
1694
+
1695
+ -no-fast-install)
1696
+ fast_install=no
1697
+ continue
1698
+ ;;
1699
+
1700
+ -no-install)
1701
+ case $host in
1702
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1703
+ # The PATH hackery in wrapper scripts is required on Windows
1704
+ # in order for the loader to find any dlls it needs.
1705
+ $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
1706
+ $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
1707
+ fast_install=no
1708
+ ;;
1709
+ *) no_install=yes ;;
1710
+ esac
1711
+ continue
1712
+ ;;
1713
+
1714
+ -no-undefined)
1715
+ allow_undefined=no
1716
+ continue
1717
+ ;;
1718
+
1719
+ -objectlist)
1720
+ prev=objectlist
1721
+ continue
1722
+ ;;
1723
+
1724
+ -o) prev=output ;;
1725
+
1726
+ -precious-files-regex)
1727
+ prev=precious_regex
1728
+ continue
1729
+ ;;
1730
+
1731
+ -release)
1732
+ prev=release
1733
+ continue
1734
+ ;;
1735
+
1736
+ -rpath)
1737
+ prev=rpath
1738
+ continue
1739
+ ;;
1740
+
1741
+ -R)
1742
+ prev=xrpath
1743
+ continue
1744
+ ;;
1745
+
1746
+ -R*)
1747
+ dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
1748
+ # We need an absolute path.
1749
+ case $dir in
1750
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
1751
+ *)
1752
+ $echo "$modename: only absolute run-paths are allowed" 1>&2
1753
+ exit $EXIT_FAILURE
1754
+ ;;
1755
+ esac
1756
+ case "$xrpath " in
1757
+ *" $dir "*) ;;
1758
+ *) xrpath="$xrpath $dir" ;;
1759
+ esac
1760
+ continue
1761
+ ;;
1762
+
1763
+ -static)
1764
+ # The effects of -static are defined in a previous loop.
1765
+ # We used to do the same as -all-static on platforms that
1766
+ # didn't have a PIC flag, but the assumption that the effects
1767
+ # would be equivalent was wrong. It would break on at least
1768
+ # Digital Unix and AIX.
1769
+ continue
1770
+ ;;
1771
+
1772
+ -thread-safe)
1773
+ thread_safe=yes
1774
+ continue
1775
+ ;;
1776
+
1777
+ -version-info)
1778
+ prev=vinfo
1779
+ continue
1780
+ ;;
1781
+ -version-number)
1782
+ prev=vinfo
1783
+ vinfo_number=yes
1784
+ continue
1785
+ ;;
1786
+
1787
+ -Wc,*)
1788
+ args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
1789
+ arg=
1790
+ save_ifs="$IFS"; IFS=','
1791
+ for flag in $args; do
1792
+ IFS="$save_ifs"
1793
+ case $flag in
1794
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1795
+ flag="\"$flag\""
1796
+ ;;
1797
+ esac
1798
+ arg="$arg $wl$flag"
1799
+ compiler_flags="$compiler_flags $flag"
1800
+ done
1801
+ IFS="$save_ifs"
1802
+ arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
1803
+ ;;
1804
+
1805
+ -Wl,*)
1806
+ args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
1807
+ arg=
1808
+ save_ifs="$IFS"; IFS=','
1809
+ for flag in $args; do
1810
+ IFS="$save_ifs"
1811
+ case $flag in
1812
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1813
+ flag="\"$flag\""
1814
+ ;;
1815
+ esac
1816
+ arg="$arg $wl$flag"
1817
+ compiler_flags="$compiler_flags $wl$flag"
1818
+ linker_flags="$linker_flags $flag"
1819
+ done
1820
+ IFS="$save_ifs"
1821
+ arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
1822
+ ;;
1823
+
1824
+ -Xcompiler)
1825
+ prev=xcompiler
1826
+ continue
1827
+ ;;
1828
+
1829
+ -Xlinker)
1830
+ prev=xlinker
1831
+ continue
1832
+ ;;
1833
+
1834
+ -XCClinker)
1835
+ prev=xcclinker
1836
+ continue
1837
+ ;;
1838
+
1839
+ # Some other compiler flag.
1840
+ -* | +*)
1841
+ # Unknown arguments in both finalize_command and compile_command need
1842
+ # to be aesthetically quoted because they are evaled later.
1843
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1844
+ case $arg in
1845
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1846
+ arg="\"$arg\""
1847
+ ;;
1848
+ esac
1849
+ ;;
1850
+
1851
+ *.$objext)
1852
+ # A standard object.
1853
+ objs="$objs $arg"
1854
+ ;;
1855
+
1856
+ *.lo)
1857
+ # A libtool-controlled object.
1858
+
1859
+ # Check to see that this really is a libtool object.
1860
+ if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1861
+ pic_object=
1862
+ non_pic_object=
1863
+
1864
+ # Read the .lo file
1865
+ # If there is no directory component, then add one.
1866
+ case $arg in
1867
+ */* | *\\*) . $arg ;;
1868
+ *) . ./$arg ;;
1869
+ esac
1870
+
1871
+ if test -z "$pic_object" || \
1872
+ test -z "$non_pic_object" ||
1873
+ test "$pic_object" = none && \
1874
+ test "$non_pic_object" = none; then
1875
+ $echo "$modename: cannot find name of object for \`$arg'" 1>&2
1876
+ exit $EXIT_FAILURE
1877
+ fi
1878
+
1879
+ # Extract subdirectory from the argument.
1880
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1881
+ if test "X$xdir" = "X$arg"; then
1882
+ xdir=
1883
+ else
1884
+ xdir="$xdir/"
1885
+ fi
1886
+
1887
+ if test "$pic_object" != none; then
1888
+ # Prepend the subdirectory the object is found in.
1889
+ pic_object="$xdir$pic_object"
1890
+
1891
+ if test "$prev" = dlfiles; then
1892
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1893
+ dlfiles="$dlfiles $pic_object"
1894
+ prev=
1895
+ continue
1896
+ else
1897
+ # If libtool objects are unsupported, then we need to preload.
1898
+ prev=dlprefiles
1899
+ fi
1900
+ fi
1901
+
1902
+ # CHECK ME: I think I busted this. -Ossama
1903
+ if test "$prev" = dlprefiles; then
1904
+ # Preload the old-style object.
1905
+ dlprefiles="$dlprefiles $pic_object"
1906
+ prev=
1907
+ fi
1908
+
1909
+ # A PIC object.
1910
+ libobjs="$libobjs $pic_object"
1911
+ arg="$pic_object"
1912
+ fi
1913
+
1914
+ # Non-PIC object.
1915
+ if test "$non_pic_object" != none; then
1916
+ # Prepend the subdirectory the object is found in.
1917
+ non_pic_object="$xdir$non_pic_object"
1918
+
1919
+ # A standard non-PIC object
1920
+ non_pic_objects="$non_pic_objects $non_pic_object"
1921
+ if test -z "$pic_object" || test "$pic_object" = none ; then
1922
+ arg="$non_pic_object"
1923
+ fi
1924
+ else
1925
+ # If the PIC object exists, use it instead.
1926
+ # $xdir was prepended to $pic_object above.
1927
+ non_pic_object="$pic_object"
1928
+ non_pic_objects="$non_pic_objects $non_pic_object"
1929
+ fi
1930
+ else
1931
+ # Only an error if not doing a dry-run.
1932
+ if test -z "$run"; then
1933
+ $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
1934
+ exit $EXIT_FAILURE
1935
+ else
1936
+ # Dry-run case.
1937
+
1938
+ # Extract subdirectory from the argument.
1939
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1940
+ if test "X$xdir" = "X$arg"; then
1941
+ xdir=
1942
+ else
1943
+ xdir="$xdir/"
1944
+ fi
1945
+
1946
+ pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
1947
+ non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
1948
+ libobjs="$libobjs $pic_object"
1949
+ non_pic_objects="$non_pic_objects $non_pic_object"
1950
+ fi
1951
+ fi
1952
+ ;;
1953
+
1954
+ *.$libext)
1955
+ # An archive.
1956
+ deplibs="$deplibs $arg"
1957
+ old_deplibs="$old_deplibs $arg"
1958
+ continue
1959
+ ;;
1960
+
1961
+ *.la)
1962
+ # A libtool-controlled library.
1963
+
1964
+ if test "$prev" = dlfiles; then
1965
+ # This library was specified with -dlopen.
1966
+ dlfiles="$dlfiles $arg"
1967
+ prev=
1968
+ elif test "$prev" = dlprefiles; then
1969
+ # The library was specified with -dlpreopen.
1970
+ dlprefiles="$dlprefiles $arg"
1971
+ prev=
1972
+ else
1973
+ deplibs="$deplibs $arg"
1974
+ fi
1975
+ continue
1976
+ ;;
1977
+
1978
+ # Some other compiler argument.
1979
+ *)
1980
+ # Unknown arguments in both finalize_command and compile_command need
1981
+ # to be aesthetically quoted because they are evaled later.
1982
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1983
+ case $arg in
1984
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1985
+ arg="\"$arg\""
1986
+ ;;
1987
+ esac
1988
+ ;;
1989
+ esac # arg
1990
+
1991
+ # Now actually substitute the argument into the commands.
1992
+ if test -n "$arg"; then
1993
+ compile_command="$compile_command $arg"
1994
+ finalize_command="$finalize_command $arg"
1995
+ fi
1996
+ done # argument parsing loop
1997
+
1998
+ if test -n "$prev"; then
1999
+ $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
2000
+ $echo "$help" 1>&2
2001
+ exit $EXIT_FAILURE
2002
+ fi
2003
+
2004
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
2005
+ eval arg=\"$export_dynamic_flag_spec\"
2006
+ compile_command="$compile_command $arg"
2007
+ finalize_command="$finalize_command $arg"
2008
+ fi
2009
+
2010
+ oldlibs=
2011
+ # calculate the name of the file, without its directory
2012
+ outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
2013
+ libobjs_save="$libobjs"
2014
+
2015
+ if test -n "$shlibpath_var"; then
2016
+ # get the directories listed in $shlibpath_var
2017
+ eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
2018
+ else
2019
+ shlib_search_path=
2020
+ fi
2021
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
2022
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
2023
+
2024
+ output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
2025
+ if test "X$output_objdir" = "X$output"; then
2026
+ output_objdir="$objdir"
2027
+ else
2028
+ output_objdir="$output_objdir/$objdir"
2029
+ fi
2030
+ # Create the object directory.
2031
+ if test ! -d "$output_objdir"; then
2032
+ $show "$mkdir $output_objdir"
2033
+ $run $mkdir $output_objdir
2034
+ exit_status=$?
2035
+ if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
2036
+ exit $exit_status
2037
+ fi
2038
+ fi
2039
+
2040
+ # Determine the type of output
2041
+ case $output in
2042
+ "")
2043
+ $echo "$modename: you must specify an output file" 1>&2
2044
+ $echo "$help" 1>&2
2045
+ exit $EXIT_FAILURE
2046
+ ;;
2047
+ *.$libext) linkmode=oldlib ;;
2048
+ *.lo | *.$objext) linkmode=obj ;;
2049
+ *.la) linkmode=lib ;;
2050
+ *) linkmode=prog ;; # Anything else should be a program.
2051
+ esac
2052
+
2053
+ case $host in
2054
+ *cygwin* | *mingw* | *pw32*)
2055
+ # don't eliminate duplications in $postdeps and $predeps
2056
+ duplicate_compiler_generated_deps=yes
2057
+ ;;
2058
+ *)
2059
+ duplicate_compiler_generated_deps=$duplicate_deps
2060
+ ;;
2061
+ esac
2062
+ specialdeplibs=
2063
+
2064
+ libs=
2065
+ # Find all interdependent deplibs by searching for libraries
2066
+ # that are linked more than once (e.g. -la -lb -la)
2067
+ for deplib in $deplibs; do
2068
+ if test "X$duplicate_deps" = "Xyes" ; then
2069
+ case "$libs " in
2070
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2071
+ esac
2072
+ fi
2073
+ libs="$libs $deplib"
2074
+ done
2075
+
2076
+ if test "$linkmode" = lib; then
2077
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
2078
+
2079
+ # Compute libraries that are listed more than once in $predeps
2080
+ # $postdeps and mark them as special (i.e., whose duplicates are
2081
+ # not to be eliminated).
2082
+ pre_post_deps=
2083
+ if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
2084
+ for pre_post_dep in $predeps $postdeps; do
2085
+ case "$pre_post_deps " in
2086
+ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
2087
+ esac
2088
+ pre_post_deps="$pre_post_deps $pre_post_dep"
2089
+ done
2090
+ fi
2091
+ pre_post_deps=
2092
+ fi
2093
+
2094
+ deplibs=
2095
+ newdependency_libs=
2096
+ newlib_search_path=
2097
+ need_relink=no # whether we're linking any uninstalled libtool libraries
2098
+ notinst_deplibs= # not-installed libtool libraries
2099
+ case $linkmode in
2100
+ lib)
2101
+ passes="conv link"
2102
+ for file in $dlfiles $dlprefiles; do
2103
+ case $file in
2104
+ *.la) ;;
2105
+ *)
2106
+ $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
2107
+ exit $EXIT_FAILURE
2108
+ ;;
2109
+ esac
2110
+ done
2111
+ ;;
2112
+ prog)
2113
+ compile_deplibs=
2114
+ finalize_deplibs=
2115
+ alldeplibs=no
2116
+ newdlfiles=
2117
+ newdlprefiles=
2118
+ passes="conv scan dlopen dlpreopen link"
2119
+ ;;
2120
+ *) passes="conv"
2121
+ ;;
2122
+ esac
2123
+ for pass in $passes; do
2124
+ if test "$linkmode,$pass" = "lib,link" ||
2125
+ test "$linkmode,$pass" = "prog,scan"; then
2126
+ libs="$deplibs"
2127
+ deplibs=
2128
+ fi
2129
+ if test "$linkmode" = prog; then
2130
+ case $pass in
2131
+ dlopen) libs="$dlfiles" ;;
2132
+ dlpreopen) libs="$dlprefiles" ;;
2133
+ link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
2134
+ esac
2135
+ fi
2136
+ if test "$pass" = dlopen; then
2137
+ # Collect dlpreopened libraries
2138
+ save_deplibs="$deplibs"
2139
+ deplibs=
2140
+ fi
2141
+ for deplib in $libs; do
2142
+ lib=
2143
+ found=no
2144
+ case $deplib in
2145
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
2146
+ if test "$linkmode,$pass" = "prog,link"; then
2147
+ compile_deplibs="$deplib $compile_deplibs"
2148
+ finalize_deplibs="$deplib $finalize_deplibs"
2149
+ else
2150
+ compiler_flags="$compiler_flags $deplib"
2151
+ fi
2152
+ continue
2153
+ ;;
2154
+ -l*)
2155
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
2156
+ $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
2157
+ continue
2158
+ fi
2159
+ name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
2160
+ for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
2161
+ for search_ext in .la $std_shrext .so .a; do
2162
+ # Search the libtool library
2163
+ lib="$searchdir/lib${name}${search_ext}"
2164
+ if test -f "$lib"; then
2165
+ if test "$search_ext" = ".la"; then
2166
+ found=yes
2167
+ else
2168
+ found=no
2169
+ fi
2170
+ break 2
2171
+ fi
2172
+ done
2173
+ done
2174
+ if test "$found" != yes; then
2175
+ # deplib doesn't seem to be a libtool library
2176
+ if test "$linkmode,$pass" = "prog,link"; then
2177
+ compile_deplibs="$deplib $compile_deplibs"
2178
+ finalize_deplibs="$deplib $finalize_deplibs"
2179
+ else
2180
+ deplibs="$deplib $deplibs"
2181
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
2182
+ fi
2183
+ continue
2184
+ else # deplib is a libtool library
2185
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
2186
+ # We need to do some special things here, and not later.
2187
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
2188
+ case " $predeps $postdeps " in
2189
+ *" $deplib "*)
2190
+ if (${SED} -e '2q' $lib |
2191
+ grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
2192
+ library_names=
2193
+ old_library=
2194
+ case $lib in
2195
+ */* | *\\*) . $lib ;;
2196
+ *) . ./$lib ;;
2197
+ esac
2198
+ for l in $old_library $library_names; do
2199
+ ll="$l"
2200
+ done
2201
+ if test "X$ll" = "X$old_library" ; then # only static version available
2202
+ found=no
2203
+ ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
2204
+ test "X$ladir" = "X$lib" && ladir="."
2205
+ lib=$ladir/$old_library
2206
+ if test "$linkmode,$pass" = "prog,link"; then
2207
+ compile_deplibs="$deplib $compile_deplibs"
2208
+ finalize_deplibs="$deplib $finalize_deplibs"
2209
+ else
2210
+ deplibs="$deplib $deplibs"
2211
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
2212
+ fi
2213
+ continue
2214
+ fi
2215
+ fi
2216
+ ;;
2217
+ *) ;;
2218
+ esac
2219
+ fi
2220
+ fi
2221
+ ;; # -l
2222
+ -L*)
2223
+ case $linkmode in
2224
+ lib)
2225
+ deplibs="$deplib $deplibs"
2226
+ test "$pass" = conv && continue
2227
+ newdependency_libs="$deplib $newdependency_libs"
2228
+ newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
2229
+ ;;
2230
+ prog)
2231
+ if test "$pass" = conv; then
2232
+ deplibs="$deplib $deplibs"
2233
+ continue
2234
+ fi
2235
+ if test "$pass" = scan; then
2236
+ deplibs="$deplib $deplibs"
2237
+ else
2238
+ compile_deplibs="$deplib $compile_deplibs"
2239
+ finalize_deplibs="$deplib $finalize_deplibs"
2240
+ fi
2241
+ newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
2242
+ ;;
2243
+ *)
2244
+ $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
2245
+ ;;
2246
+ esac # linkmode
2247
+ continue
2248
+ ;; # -L
2249
+ -R*)
2250
+ if test "$pass" = link; then
2251
+ dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
2252
+ # Make sure the xrpath contains only unique directories.
2253
+ case "$xrpath " in
2254
+ *" $dir "*) ;;
2255
+ *) xrpath="$xrpath $dir" ;;
2256
+ esac
2257
+ fi
2258
+ deplibs="$deplib $deplibs"
2259
+ continue
2260
+ ;;
2261
+ *.la) lib="$deplib" ;;
2262
+ *.$libext)
2263
+ if test "$pass" = conv; then
2264
+ deplibs="$deplib $deplibs"
2265
+ continue
2266
+ fi
2267
+ case $linkmode in
2268
+ lib)
2269
+ valid_a_lib=no
2270
+ case $deplibs_check_method in
2271
+ match_pattern*)
2272
+ set dummy $deplibs_check_method
2273
+ match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
2274
+ if eval $echo \"$deplib\" 2>/dev/null \
2275
+ | $SED 10q \
2276
+ | $EGREP "$match_pattern_regex" > /dev/null; then
2277
+ valid_a_lib=yes
2278
+ fi
2279
+ ;;
2280
+ pass_all)
2281
+ valid_a_lib=yes
2282
+ ;;
2283
+ esac
2284
+ if test "$valid_a_lib" != yes; then
2285
+ $echo
2286
+ $echo "*** Warning: Trying to link with static lib archive $deplib."
2287
+ $echo "*** I have the capability to make that library automatically link in when"
2288
+ $echo "*** you link to this library. But I can only do this if you have a"
2289
+ $echo "*** shared version of the library, which you do not appear to have"
2290
+ $echo "*** because the file extensions .$libext of this argument makes me believe"
2291
+ $echo "*** that it is just a static archive that I should not used here."
2292
+ else
2293
+ $echo
2294
+ $echo "*** Warning: Linking the shared library $output against the"
2295
+ $echo "*** static library $deplib is not portable!"
2296
+ deplibs="$deplib $deplibs"
2297
+ fi
2298
+ continue
2299
+ ;;
2300
+ prog)
2301
+ if test "$pass" != link; then
2302
+ deplibs="$deplib $deplibs"
2303
+ else
2304
+ compile_deplibs="$deplib $compile_deplibs"
2305
+ finalize_deplibs="$deplib $finalize_deplibs"
2306
+ fi
2307
+ continue
2308
+ ;;
2309
+ esac # linkmode
2310
+ ;; # *.$libext
2311
+ *.lo | *.$objext)
2312
+ if test "$pass" = conv; then
2313
+ deplibs="$deplib $deplibs"
2314
+ elif test "$linkmode" = prog; then
2315
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
2316
+ # If there is no dlopen support or we're linking statically,
2317
+ # we need to preload.
2318
+ newdlprefiles="$newdlprefiles $deplib"
2319
+ compile_deplibs="$deplib $compile_deplibs"
2320
+ finalize_deplibs="$deplib $finalize_deplibs"
2321
+ else
2322
+ newdlfiles="$newdlfiles $deplib"
2323
+ fi
2324
+ fi
2325
+ continue
2326
+ ;;
2327
+ %DEPLIBS%)
2328
+ alldeplibs=yes
2329
+ continue
2330
+ ;;
2331
+ esac # case $deplib
2332
+ if test "$found" = yes || test -f "$lib"; then :
2333
+ else
2334
+ $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
2335
+ exit $EXIT_FAILURE
2336
+ fi
2337
+
2338
+ # Check to see that this really is a libtool archive.
2339
+ if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
2340
+ else
2341
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
2342
+ exit $EXIT_FAILURE
2343
+ fi
2344
+
2345
+ ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
2346
+ test "X$ladir" = "X$lib" && ladir="."
2347
+
2348
+ dlname=
2349
+ dlopen=
2350
+ dlpreopen=
2351
+ libdir=
2352
+ library_names=
2353
+ old_library=
2354
+ # If the library was installed with an old release of libtool,
2355
+ # it will not redefine variables installed, or shouldnotlink
2356
+ installed=yes
2357
+ shouldnotlink=no
2358
+ avoidtemprpath=
2359
+
2360
+
2361
+ # Read the .la file
2362
+ case $lib in
2363
+ */* | *\\*) . $lib ;;
2364
+ *) . ./$lib ;;
2365
+ esac
2366
+
2367
+ if test "$linkmode,$pass" = "lib,link" ||
2368
+ test "$linkmode,$pass" = "prog,scan" ||
2369
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
2370
+ test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
2371
+ test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
2372
+ fi
2373
+
2374
+ if test "$pass" = conv; then
2375
+ # Only check for convenience libraries
2376
+ deplibs="$lib $deplibs"
2377
+ if test -z "$libdir"; then
2378
+ if test -z "$old_library"; then
2379
+ $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
2380
+ exit $EXIT_FAILURE
2381
+ fi
2382
+ # It is a libtool convenience library, so add in its objects.
2383
+ convenience="$convenience $ladir/$objdir/$old_library"
2384
+ old_convenience="$old_convenience $ladir/$objdir/$old_library"
2385
+ tmp_libs=
2386
+ for deplib in $dependency_libs; do
2387
+ deplibs="$deplib $deplibs"
2388
+ if test "X$duplicate_deps" = "Xyes" ; then
2389
+ case "$tmp_libs " in
2390
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2391
+ esac
2392
+ fi
2393
+ tmp_libs="$tmp_libs $deplib"
2394
+ done
2395
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
2396
+ $echo "$modename: \`$lib' is not a convenience library" 1>&2
2397
+ exit $EXIT_FAILURE
2398
+ fi
2399
+ continue
2400
+ fi # $pass = conv
2401
+
2402
+
2403
+ # Get the name of the library we link against.
2404
+ linklib=
2405
+ for l in $old_library $library_names; do
2406
+ linklib="$l"
2407
+ done
2408
+ if test -z "$linklib"; then
2409
+ $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
2410
+ exit $EXIT_FAILURE
2411
+ fi
2412
+
2413
+ # This library was specified with -dlopen.
2414
+ if test "$pass" = dlopen; then
2415
+ if test -z "$libdir"; then
2416
+ $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
2417
+ exit $EXIT_FAILURE
2418
+ fi
2419
+ if test -z "$dlname" ||
2420
+ test "$dlopen_support" != yes ||
2421
+ test "$build_libtool_libs" = no; then
2422
+ # If there is no dlname, no dlopen support or we're linking
2423
+ # statically, we need to preload. We also need to preload any
2424
+ # dependent libraries so libltdl's deplib preloader doesn't
2425
+ # bomb out in the load deplibs phase.
2426
+ dlprefiles="$dlprefiles $lib $dependency_libs"
2427
+ else
2428
+ newdlfiles="$newdlfiles $lib"
2429
+ fi
2430
+ continue
2431
+ fi # $pass = dlopen
2432
+
2433
+ # We need an absolute path.
2434
+ case $ladir in
2435
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
2436
+ *)
2437
+ abs_ladir=`cd "$ladir" && pwd`
2438
+ if test -z "$abs_ladir"; then
2439
+ $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
2440
+ $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
2441
+ abs_ladir="$ladir"
2442
+ fi
2443
+ ;;
2444
+ esac
2445
+ laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
2446
+
2447
+ # Find the relevant object directory and library name.
2448
+ if test "X$installed" = Xyes; then
2449
+ if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
2450
+ $echo "$modename: warning: library \`$lib' was moved." 1>&2
2451
+ dir="$ladir"
2452
+ absdir="$abs_ladir"
2453
+ libdir="$abs_ladir"
2454
+ else
2455
+ dir="$libdir"
2456
+ absdir="$libdir"
2457
+ fi
2458
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
2459
+ else
2460
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
2461
+ dir="$ladir"
2462
+ absdir="$abs_ladir"
2463
+ # Remove this search path later
2464
+ notinst_path="$notinst_path $abs_ladir"
2465
+ else
2466
+ dir="$ladir/$objdir"
2467
+ absdir="$abs_ladir/$objdir"
2468
+ # Remove this search path later
2469
+ notinst_path="$notinst_path $abs_ladir"
2470
+ fi
2471
+ fi # $installed = yes
2472
+ name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
2473
+
2474
+ # This library was specified with -dlpreopen.
2475
+ if test "$pass" = dlpreopen; then
2476
+ if test -z "$libdir"; then
2477
+ $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
2478
+ exit $EXIT_FAILURE
2479
+ fi
2480
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
2481
+ # are required to link).
2482
+ if test -n "$old_library"; then
2483
+ newdlprefiles="$newdlprefiles $dir/$old_library"
2484
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
2485
+ elif test -n "$dlname"; then
2486
+ newdlprefiles="$newdlprefiles $dir/$dlname"
2487
+ else
2488
+ newdlprefiles="$newdlprefiles $dir/$linklib"
2489
+ fi
2490
+ fi # $pass = dlpreopen
2491
+
2492
+ if test -z "$libdir"; then
2493
+ # Link the convenience library
2494
+ if test "$linkmode" = lib; then
2495
+ deplibs="$dir/$old_library $deplibs"
2496
+ elif test "$linkmode,$pass" = "prog,link"; then
2497
+ compile_deplibs="$dir/$old_library $compile_deplibs"
2498
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
2499
+ else
2500
+ deplibs="$lib $deplibs" # used for prog,scan pass
2501
+ fi
2502
+ continue
2503
+ fi
2504
+
2505
+
2506
+ if test "$linkmode" = prog && test "$pass" != link; then
2507
+ newlib_search_path="$newlib_search_path $ladir"
2508
+ deplibs="$lib $deplibs"
2509
+
2510
+ linkalldeplibs=no
2511
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
2512
+ test "$build_libtool_libs" = no; then
2513
+ linkalldeplibs=yes
2514
+ fi
2515
+
2516
+ tmp_libs=
2517
+ for deplib in $dependency_libs; do
2518
+ case $deplib in
2519
+ -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
2520
+ esac
2521
+ # Need to link against all dependency_libs?
2522
+ if test "$linkalldeplibs" = yes; then
2523
+ deplibs="$deplib $deplibs"
2524
+ else
2525
+ # Need to hardcode shared library paths
2526
+ # or/and link against static libraries
2527
+ newdependency_libs="$deplib $newdependency_libs"
2528
+ fi
2529
+ if test "X$duplicate_deps" = "Xyes" ; then
2530
+ case "$tmp_libs " in
2531
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2532
+ esac
2533
+ fi
2534
+ tmp_libs="$tmp_libs $deplib"
2535
+ done # for deplib
2536
+ continue
2537
+ fi # $linkmode = prog...
2538
+
2539
+ if test "$linkmode,$pass" = "prog,link"; then
2540
+ if test -n "$library_names" &&
2541
+ { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
2542
+ # We need to hardcode the library path
2543
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
2544
+ # Make sure the rpath contains only unique directories.
2545
+ case "$temp_rpath " in
2546
+ *" $dir "*) ;;
2547
+ *" $absdir "*) ;;
2548
+ *) temp_rpath="$temp_rpath $absdir" ;;
2549
+ esac
2550
+ fi
2551
+
2552
+ # Hardcode the library path.
2553
+ # Skip directories that are in the system default run-time
2554
+ # search path.
2555
+ case " $sys_lib_dlsearch_path " in
2556
+ *" $absdir "*) ;;
2557
+ *)
2558
+ case "$compile_rpath " in
2559
+ *" $absdir "*) ;;
2560
+ *) compile_rpath="$compile_rpath $absdir"
2561
+ esac
2562
+ ;;
2563
+ esac
2564
+ case " $sys_lib_dlsearch_path " in
2565
+ *" $libdir "*) ;;
2566
+ *)
2567
+ case "$finalize_rpath " in
2568
+ *" $libdir "*) ;;
2569
+ *) finalize_rpath="$finalize_rpath $libdir"
2570
+ esac
2571
+ ;;
2572
+ esac
2573
+ fi # $linkmode,$pass = prog,link...
2574
+
2575
+ if test "$alldeplibs" = yes &&
2576
+ { test "$deplibs_check_method" = pass_all ||
2577
+ { test "$build_libtool_libs" = yes &&
2578
+ test -n "$library_names"; }; }; then
2579
+ # We only need to search for static libraries
2580
+ continue
2581
+ fi
2582
+ fi
2583
+
2584
+ link_static=no # Whether the deplib will be linked statically
2585
+ use_static_libs=$prefer_static_libs
2586
+ if test "$use_static_libs" = built && test "$installed" = yes ; then
2587
+ use_static_libs=no
2588
+ fi
2589
+ if test -n "$library_names" &&
2590
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
2591
+ if test "$installed" = no; then
2592
+ notinst_deplibs="$notinst_deplibs $lib"
2593
+ need_relink=yes
2594
+ fi
2595
+ # This is a shared library
2596
+
2597
+ # Warn about portability, can't link against -module's on
2598
+ # some systems (darwin)
2599
+ if test "$shouldnotlink" = yes && test "$pass" = link ; then
2600
+ $echo
2601
+ if test "$linkmode" = prog; then
2602
+ $echo "*** Warning: Linking the executable $output against the loadable module"
2603
+ else
2604
+ $echo "*** Warning: Linking the shared library $output against the loadable module"
2605
+ fi
2606
+ $echo "*** $linklib is not portable!"
2607
+ fi
2608
+ if test "$linkmode" = lib &&
2609
+ test "$hardcode_into_libs" = yes; then
2610
+ # Hardcode the library path.
2611
+ # Skip directories that are in the system default run-time
2612
+ # search path.
2613
+ case " $sys_lib_dlsearch_path " in
2614
+ *" $absdir "*) ;;
2615
+ *)
2616
+ case "$compile_rpath " in
2617
+ *" $absdir "*) ;;
2618
+ *) compile_rpath="$compile_rpath $absdir"
2619
+ esac
2620
+ ;;
2621
+ esac
2622
+ case " $sys_lib_dlsearch_path " in
2623
+ *" $libdir "*) ;;
2624
+ *)
2625
+ case "$finalize_rpath " in
2626
+ *" $libdir "*) ;;
2627
+ *) finalize_rpath="$finalize_rpath $libdir"
2628
+ esac
2629
+ ;;
2630
+ esac
2631
+ fi
2632
+
2633
+ if test -n "$old_archive_from_expsyms_cmds"; then
2634
+ # figure out the soname
2635
+ set dummy $library_names
2636
+ realname="$2"
2637
+ shift; shift
2638
+ libname=`eval \\$echo \"$libname_spec\"`
2639
+ # use dlname if we got it. it's perfectly good, no?
2640
+ if test -n "$dlname"; then
2641
+ soname="$dlname"
2642
+ elif test -n "$soname_spec"; then
2643
+ # bleh windows
2644
+ case $host in
2645
+ *cygwin* | mingw*)
2646
+ major=`expr $current - $age`
2647
+ versuffix="-$major"
2648
+ ;;
2649
+ esac
2650
+ eval soname=\"$soname_spec\"
2651
+ else
2652
+ soname="$realname"
2653
+ fi
2654
+
2655
+ # Make a new name for the extract_expsyms_cmds to use
2656
+ soroot="$soname"
2657
+ soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
2658
+ newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
2659
+
2660
+ # If the library has no export list, then create one now
2661
+ if test -f "$output_objdir/$soname-def"; then :
2662
+ else
2663
+ $show "extracting exported symbol list from \`$soname'"
2664
+ save_ifs="$IFS"; IFS='~'
2665
+ cmds=$extract_expsyms_cmds
2666
+ for cmd in $cmds; do
2667
+ IFS="$save_ifs"
2668
+ eval cmd=\"$cmd\"
2669
+ $show "$cmd"
2670
+ $run eval "$cmd" || exit $?
2671
+ done
2672
+ IFS="$save_ifs"
2673
+ fi
2674
+
2675
+ # Create $newlib
2676
+ if test -f "$output_objdir/$newlib"; then :; else
2677
+ $show "generating import library for \`$soname'"
2678
+ save_ifs="$IFS"; IFS='~'
2679
+ cmds=$old_archive_from_expsyms_cmds
2680
+ for cmd in $cmds; do
2681
+ IFS="$save_ifs"
2682
+ eval cmd=\"$cmd\"
2683
+ $show "$cmd"
2684
+ $run eval "$cmd" || exit $?
2685
+ done
2686
+ IFS="$save_ifs"
2687
+ fi
2688
+ # make sure the library variables are pointing to the new library
2689
+ dir=$output_objdir
2690
+ linklib=$newlib
2691
+ fi # test -n "$old_archive_from_expsyms_cmds"
2692
+
2693
+ if test "$linkmode" = prog || test "$mode" != relink; then
2694
+ add_shlibpath=
2695
+ add_dir=
2696
+ add=
2697
+ lib_linked=yes
2698
+ case $hardcode_action in
2699
+ immediate | unsupported)
2700
+ if test "$hardcode_direct" = no; then
2701
+ add="$dir/$linklib"
2702
+ case $host in
2703
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
2704
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
2705
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
2706
+ *-*-unixware7*) add_dir="-L$dir" ;;
2707
+ *-*-darwin* )
2708
+ # if the lib is a module then we can not link against
2709
+ # it, someone is ignoring the new warnings I added
2710
+ if /usr/bin/file -L $add 2> /dev/null |
2711
+ $EGREP ": [^:]* bundle" >/dev/null ; then
2712
+ $echo "** Warning, lib $linklib is a module, not a shared library"
2713
+ if test -z "$old_library" ; then
2714
+ $echo
2715
+ $echo "** And there doesn't seem to be a static archive available"
2716
+ $echo "** The link will probably fail, sorry"
2717
+ else
2718
+ add="$dir/$old_library"
2719
+ fi
2720
+ fi
2721
+ esac
2722
+ elif test "$hardcode_minus_L" = no; then
2723
+ case $host in
2724
+ *-*-sunos*) add_shlibpath="$dir" ;;
2725
+ esac
2726
+ add_dir="-L$dir"
2727
+ add="-l$name"
2728
+ elif test "$hardcode_shlibpath_var" = no; then
2729
+ add_shlibpath="$dir"
2730
+ add="-l$name"
2731
+ else
2732
+ lib_linked=no
2733
+ fi
2734
+ ;;
2735
+ relink)
2736
+ if test "$hardcode_direct" = yes; then
2737
+ add="$dir/$linklib"
2738
+ elif test "$hardcode_minus_L" = yes; then
2739
+ add_dir="-L$dir"
2740
+ # Try looking first in the location we're being installed to.
2741
+ if test -n "$inst_prefix_dir"; then
2742
+ case $libdir in
2743
+ [\\/]*)
2744
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
2745
+ ;;
2746
+ esac
2747
+ fi
2748
+ add="-l$name"
2749
+ elif test "$hardcode_shlibpath_var" = yes; then
2750
+ add_shlibpath="$dir"
2751
+ add="-l$name"
2752
+ else
2753
+ lib_linked=no
2754
+ fi
2755
+ ;;
2756
+ *) lib_linked=no ;;
2757
+ esac
2758
+
2759
+ if test "$lib_linked" != yes; then
2760
+ $echo "$modename: configuration error: unsupported hardcode properties"
2761
+ exit $EXIT_FAILURE
2762
+ fi
2763
+
2764
+ if test -n "$add_shlibpath"; then
2765
+ case :$compile_shlibpath: in
2766
+ *":$add_shlibpath:"*) ;;
2767
+ *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
2768
+ esac
2769
+ fi
2770
+ if test "$linkmode" = prog; then
2771
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
2772
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
2773
+ else
2774
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
2775
+ test -n "$add" && deplibs="$add $deplibs"
2776
+ if test "$hardcode_direct" != yes && \
2777
+ test "$hardcode_minus_L" != yes && \
2778
+ test "$hardcode_shlibpath_var" = yes; then
2779
+ case :$finalize_shlibpath: in
2780
+ *":$libdir:"*) ;;
2781
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
2782
+ esac
2783
+ fi
2784
+ fi
2785
+ fi
2786
+
2787
+ if test "$linkmode" = prog || test "$mode" = relink; then
2788
+ add_shlibpath=
2789
+ add_dir=
2790
+ add=
2791
+ # Finalize command for both is simple: just hardcode it.
2792
+ if test "$hardcode_direct" = yes; then
2793
+ add="$libdir/$linklib"
2794
+ elif test "$hardcode_minus_L" = yes; then
2795
+ add_dir="-L$libdir"
2796
+ add="-l$name"
2797
+ elif test "$hardcode_shlibpath_var" = yes; then
2798
+ case :$finalize_shlibpath: in
2799
+ *":$libdir:"*) ;;
2800
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
2801
+ esac
2802
+ add="-l$name"
2803
+ elif test "$hardcode_automatic" = yes; then
2804
+ if test -n "$inst_prefix_dir" &&
2805
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
2806
+ add="$inst_prefix_dir$libdir/$linklib"
2807
+ else
2808
+ add="$libdir/$linklib"
2809
+ fi
2810
+ else
2811
+ # We cannot seem to hardcode it, guess we'll fake it.
2812
+ add_dir="-L$libdir"
2813
+ # Try looking first in the location we're being installed to.
2814
+ if test -n "$inst_prefix_dir"; then
2815
+ case $libdir in
2816
+ [\\/]*)
2817
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
2818
+ ;;
2819
+ esac
2820
+ fi
2821
+ add="-l$name"
2822
+ fi
2823
+
2824
+ if test "$linkmode" = prog; then
2825
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
2826
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
2827
+ else
2828
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
2829
+ test -n "$add" && deplibs="$add $deplibs"
2830
+ fi
2831
+ fi
2832
+ elif test "$linkmode" = prog; then
2833
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
2834
+ # is not unsupported. This is valid on all known static and
2835
+ # shared platforms.
2836
+ if test "$hardcode_direct" != unsupported; then
2837
+ test -n "$old_library" && linklib="$old_library"
2838
+ compile_deplibs="$dir/$linklib $compile_deplibs"
2839
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
2840
+ else
2841
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
2842
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
2843
+ fi
2844
+ elif test "$build_libtool_libs" = yes; then
2845
+ # Not a shared library
2846
+ if test "$deplibs_check_method" != pass_all; then
2847
+ # We're trying link a shared library against a static one
2848
+ # but the system doesn't support it.
2849
+